Result Invalidation for Incremental Modular Analyses
summary
Introduces three concrete invalidation strategies—component invalidation, dependency invalidation, and provenance-based write invalidation—and interleaves invalidation with recomputation in an effect‑driven modular incremental analyzer. Implements provenance tracking so store entries can be retracted or non‑monotonically updated, evaluates on a curated suite and a generated suite (190 programs × 5 edits), and measures precision and time. Precision improves (many benchmarks raise fully‑precise addresses from ~20% up toward ~50%), incremental updates stay ~5× faster on curated cases, but write invalidation can trigger reanalysis and cause massive slowdowns (up to 100–1000×) on edits that drastically change program behavior.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:24Motivation for incremental modular analysis
- 2:28Limitations of prior approaches
- 3:30Effect-driven modular analysis
- 7:05Analysis result components
- 7:25Prior incrementalization drawbacks
- 9:11Invalidation and recomputation
- 9:53Interleaving recomputation
- 10:13Component invalidation strategy
- 10:57Dependency invalidation strategy
- 12:01Write invalidation and provenance
- 15:14Write invalidation on deletion
- 15:56Evaluation setup and benchmarks
- 17:03Precision improvement results
- 18:24Impact on update speed
- 19:28Comparison with full analysis
- 20:30Summary of techniques
- 20:53Q&A
