ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA 2018
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.55MiB

Wed 18 Jul
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30
Session IDPA at Cairo
Chair(s): Max SchaeferSemmle
11:00
30m
Talk
Program Analysis with Flix
DPA
Magnus MadsenAalborg University
11:30
30m
Talk
IncAL - Incrementalizing Lattice-Based Program Analyses
DPA
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
12:00
30m
Talk
Simple encoding of lattices in Datalog
DPA
Rei ThiessenGoogle Inc.
File Attached