Write a Blog >>
ISSTA 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA
Wed 18 Jul 2018 11:30 - 12:00 at Cairo - Session I Chair(s): Max Schaefer

Program analyses detect errors in code but have to trade off precision, recall, and performance. However, when code changes frequently as in an IDE, repeated re-analysis from-scratch is unnecessary and leads to poor performance. Incremental program analysis promises to deliver fast feedback after a code change by deriving a new analysis result from the previous one, and prior work has shown that order-of-magnitude performance improvements are possible. However, existing frameworks for incremental program analysis only support Datalog-style relational analysis, but not lattice-based analyses that derive and aggregate lattice values. To solve this problem, we present the IncAL incremental program analysis framework that supports relational analyses and lattice-based computations. IncAL is based on a novel algorithm that enables the incremental maintenance of recursive lattice-value aggregation, which occurs when analyzing code with cyclic control flow by fixpoint iteration. To demonstrate our approach, we realized strong-update points-to analysis and string analyses for Java in IncAL and present performance measurements that demonstrate incremental analysis updates within milliseconds.

presentation slides (DPA2018.IncA.pdf)1.54MiB

Wed 18 Jul

dpa-2018-papers
11:00 - 12:30: DPA - Session I at Cairo
Chair(s): Max SchaeferSemmle
dpa-2018-papers11:00 - 11:30
Talk
Magnus MadsenAalborg University
dpa-2018-papers11:30 - 12:00
Talk
Tamás Szabóitemis AG / TU Delft, Gábor BergmannBudapest University of Technology and Economics / MTA-BME Lendület Research Group on Cyber-Physical Systems, Sebastian ErdwegTU Delft, Markus Voelteritemis
File Attached
dpa-2018-papers12:00 - 12:30
Talk
Rei ThiessenGoogle Inc.
File Attached