🤖 AI Summary
Debugging incremental Datalog static analysis in CI/CD pipelines—specifically, rapidly identifying input changes causing analysis failures and recommending optimal rollback points—remains challenging. Method: We propose the first provenance-based debugging approach for incremental Datalog, constructing a fine-grained incremental execution provenance graph, extending the Soufflé engine to support efficient provenance tracking, and integrating it into the Doop static analysis framework. Results: Our method accelerates fault localization and rollback recommendation by 26.9× over state-of-the-art techniques, while significantly improving attribution accuracy and rollback quality. Key contributions are: (1) the first systematic integration of incremental provenance into Datalog debugging; (2) end-to-end automated fault attribution and verifiable rollback decisions; and (3) lightweight, reliable, and scalable debugging support for industrial-grade static analysis pipelines.
📝 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 emph{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'{e} 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$ imes$ while providing higher quality results.