KIT | KIT-Bibliothek | Impressum | Datenschutz

Incrementalizing Lattice-Based Program Analyses in Datalog

Szabó, Tamás; Bergmann, Gábor; Völter, Markus; Erdweg, Sebastian ORCID iD icon 1
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Program analyses detect errors in code, but when code changes frequently as in an IDE, repeated re-analysis from-scratch is unnecessary: It leads to poor performance unless we give up on precision and recall. Incremental program analysis promises to deliver fast feedback without giving up on precision or recall by deriving a new analysis result from the previous one. However, Datalog and other existing frameworks for incremental program analysis are limited in expressive power: They only support the powerset lattice as representation of analysis results, whereas many practically relevant analyses require custom lattices and aggregation over lattice values. To this end, we present a novel algorithm called DRedL that supports incremental maintenance of recursive lattice-value aggregation in Datalog. The key insight of DRedL is to dynamically recognize increasing replacements of old lattice values by new ones, which allows us to avoid the expensive deletion of the old value. We integrate DRedL into the analysis framework IncA and use IncA to realize incremental implementations of strong-update points-to analysis and string analysis for Java. ... mehr


Verlagsausgabe §
DOI: 10.5445/IR/1000188588
Veröffentlicht am 22.12.2025
Originalveröffentlichung
DOI: 10.1145/3276509
Scopus
Zitationen: 45
Dimensions
Zitationen: 45
Cover der Publikation
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Zeitschriftenaufsatz
Publikationsdatum 24.10.2018
Sprache Englisch
Identifikator ISSN: 2475-1421
KITopen-ID: 1000188588
Erschienen in Proceedings of the ACM on programming languages
Verlag Association for Computing Machinery (ACM)
Band 2
Heft OOPSLA
Seiten 1-29
Schlagwörter Static Analysis, Incremental Computing, Domain-Specific Language, Language Workbench, Datalog, Lattice
Nachgewiesen in Scopus
Dimensions
OpenAlex
Globale Ziele für nachhaltige Entwicklung Ziel 1 – Keine Armut
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page