Interprocedural Shape Analysis Using Separation Logic-Based Transformer Summaries
summary
Builds context-sensitive procedure summaries as relational transformations over separation logic (pairs of input/output heap descriptions h# and t#), implemented as a Frama-C plug-in and applied to ~2k lines of Emacs C. Composition and widening produce summaries (including for recursion) that preserve precision on the benchmark; summary-based analysis runs about 60× faster than state inlining and 300× faster than relational inlining. Uses relational separation logic and reports no observed precision loss.
AI-written summary · about
chapters (18)
- 0:00Memory analysis with separation logic
- 1:05Transformation analyses and summaries
- 2:12Abstract transformations vs inlining
- 3:22Composing abstract transformations
- 6:01Interprocedural transformation analysis
- 6:23Shape abstract transformation composition
- 8:18Soundness of composition
- 8:39Example of composition
- 10:16Interprocedural relational analysis
- 10:37Context transformation summaries
- 12:34Context and transformation needs
- 12:58Applying summaries
- 15:02Insufficient summary contexts
- 16:08Frama-C implementation
- 16:54Emacs code evaluation
- 17:59Performance gains
- 18:22Precision and verification
- 18:43Conclusion
