COP 2018
Mon 16 - 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

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30
Session IDPA at Cairo
Chair(s): Max Schaefer Semmle
11:00
30m
Talk
Program Analysis with Flix
DPA
Magnus Madsen Aalborg University
11:30
30m
Talk
IncAL - Incrementalizing Lattice-Based Program Analyses
DPA
Tamás Szabó itemis AG / TU Delft, Gábor Bergmann Budapest University of Technology and Economics / MTA-BME Lendület Research Group on Cyber-Physical Systems, Sebastian Erdweg TU Delft, Markus Voelter itemis
File Attached
12:00
30m
Talk
Simple encoding of lattices in Datalog
DPA
Rei Thiessen Google Inc.
File Attached