KIT | KIT-Bibliothek | Impressum | Datenschutz

IncA: A DSL for the Definition of Incremental Program Analyses

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

Abstract (englisch):

Program analyses support software developers, for example, through error detection, code-quality assurance, and by enabling compiler optimizations and refactorings. To provide real-time feedback to developers within IDEs, an analysis must run efficiently even if the analyzed code base is large.
To achieve this goal, we present a domain-specific language called IncA for the definition of efficient incremental program analyses that update their result as the program changes. IncA compiles analyses into graph patterns and relies on existing incremental matching algorithms. To scale IncA analyses to large programs, we describe optimizations that reduce caching and prune change propagation. Using IncA, we have developed incremental control flow and points-to analysis for C, well-formedness checks for DSLs, and 10 FindBugs checks for Java. Our evaluation demonstrates significant speedups for all analyses compared to their non-incremental counterparts.


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsdatum 25.08.2016
Sprache Englisch
Identifikator ISBN: 978-145033845-5
KITopen-ID: 1000188570
Erschienen in Proceedings of International Conference on Automated Software Engineering (ASE); Singapur, 03.-07.09.2016
Veranstaltung 31st IEEE/ACM International Conference on Automated Software Engineering (2016), Singapur, Singapur, 03.09.2016 – 07.09.2016
Verlag Association for Computing Machinery (ACM)
Seiten S. 320-331
Schlagwörter Domain-specific Language; Incremental Computation; Language Workbench; Static Analysis
Nachgewiesen in Scopus
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page