Correctness Witness Validation by Abstract Interpretation
summary
Introduces a concrete unassume operator that injects witness invariants into an abstract interpreter to relax state information deliberately, implemented in the Goblin framework and using Apron for octagons/polyhedra; manual correctness witnesses cut CPU time by 7–47% on multi‑threaded benchmarks, and model‑checker witnesses guide the analyzer to prove properties it could not infer alone. The paper gives a dual‑narrowing design for relational domains, a propagating unassume for non‑relational/pointer cases, and empirical precision and performance results.
AI-written summary · about
chapters (15)
- 0:00Correctness witness validation intro
- 1:03Witness validation basics
- 2:25Abstract interpretation basics
- 3:29Verification goals with witnesses
- 3:49Interval analysis example
- 5:14Relaxing invariants with unassume
- 6:21Soundness of unassume operators
- 7:25Relational abstractions handling
- 8:48Dual narrowing for precision
- 9:31Backwards evaluation for unassume
- 11:18Goblin framework implementation
- 12:00Precision evaluation results
- 13:02Performance evaluation results
- 13:45Contributions and conclusion
- 14:27Q&A
