Provenance Guided Rollback Suggestions
Abstract Advances in incremental Datalog evaluation strategies have made Datalog popular among use cases with constantly evolving inputs such as static analysis in continuous integration and deployment pipelines. As a result, new logic programming debugging techniques are needed to support these emerging use cases. This paper introduces an incremental debugging technique for Datalog, which determines the failing changes for a rollback in an incremental setup. Our debugging technique leverages a novel incremental provenance method. We have implemented our technique using an incremental version of the Soufflé Datalog engine and evaluated its effectiveness on the DaCapo Java program benchmarks analyzed by the Doop static analysis library. Compared to state-of-the-art techniques, we can localize faults and suggest rollbacks with an overall speedup of over 26.9 $\times$ while providing higher quality results.
Authors
- Pavle Subotić (ORCID: https://orcid.org/0000-0002-6536-3932)
- Mukund Raghothaman (ORCID: https://orcid.org/0000-0003-2879-0932)
- David Zhao (ORCID: https://orcid.org/0000-0002-3857-5016)
- Bernhard Scholz (ORCID: https://orcid.org/0000-0002-7672-7359)
Institutions
- University of Southern California (US)
- Microsoft (United States) (US)
- UNSW Sydney (AU)
Publication Details
- Journal
- Theory and Practice of Logic Programming
- Published
- 2025-04-25
- DOI
- https://doi.org/10.1017/s147106842500002x
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation