The research supported by the ERC grant ProDIS focuses on provenance for data-intensive systems. Data-intensive systems are software systems that manage large scale data. They are ubiquitous and employed in many contexts, yet their operation is typically complex and opaque. As a result, people, including the system owners, users, and other affected individuals, often do not understand the rationale underlying the operation of the system. Why did the system output a particular result? What data does it rely on? What would change it?
Answering such questions is of paramount importance for the trustworthiness of systems, for accountability with respect to decision making that is based on the operation of such systems, and for finding and correcting errors in the systems. Yet they are highly non-trivial and require the development of novel models, algorithms and dedicated software.
These questions and related ones were studied as part of the ProDIS research project, centered around the notion of provenance. In a nutshell, provenance is a record of the computation that took place. The main problems that are addressed in this research are:
(1) How to correctly define and model provenance for data-intensive systems, so that it keeps track, in a concise yet useful way, of the essence of computation that took place? Naturally, one may keep detailed track of every operation that has taken place and every data access, yet this would be redundant and prohibitively costly to track, in terms of both space and time. Designing provenance models that capture the essence of computation is essential.
(2) how to efficiently track provenance for complex systems and large-scale data? Given a choice of provenance model, the algorithmic challenge is then that of efficient provenance tracking. Provenance tracking inevitably comes with a computational cost that is beyond the cost of running the system without provenance; reducing this cost as much as possible is of great importance to allow for the feasibility of the approach. Performance in terms of space and time naturally becomes even more crucial when dealing with large-scale data, as is typically the case with such systems.
(3) how to leverage provenance for explainability? While provenance provides a record of the computation that took place and is key for explainability, it is often insufficient by itself. This is because the raw provenance information is too large and complex to be presented, especially to non-experts. How can we derive explanations, and in particular answers to questions such as those highlighted above, from the provenance information?
(4) how to implement and test the performance of solutions? What are useful interfaces through which one could show explanations, and what are appropriate baselines on which one can test the scalability and effectiveness of solutions?
Our results have significantly advanced the state-of-the-art in all of the above fronts, developing new provenance models, new algorithms that efficiently compute provenance, new tools that use provenance for explainability, and new implementations and experimentation benchmarks on which we have tested the solutions.