Incremental whole-program analysis in Datalog with lattices
Tamás Szabó, Sebastian Erdweg, Gábor Bergmann
Abstract
Incremental static analyses provide up-to-date analysis results in time proportional to the size of a code change, not the entire code base. This promises fast feedback to programmers in IDEs and when checking in commits. However, existing incremental analysis frameworks fail to deliver on this promise for whole-program lattice-based data-flow analyses. In particular, prior Datalog-based frameworks yield good incremental performance only for intra-procedural analyses.
Topics & Concepts
DatalogComputer scienceProgram analysisStatic analysisProgramming languageCode (set theory)Abstract interpretationParallel computingStatic program analysisBase (topology)Execution timeTheoretical computer scienceSoftwareMathematicsSoftware developmentSet (abstract data type)Mathematical analysisParallel Computing and Optimization TechniquesLogic, programming, and type systemsSoftware Testing and Debugging Techniques