Compositional Shape Analysis with Shared Abduction and Biabductive Loop Acceleration (Extended Version)
Florian Sextl (1), Adam Rogalewicz (2), Tom\'a\v{s} Vojnar (3, 2),, Florian Zuleger (1) ((1) TU Wien, Institute of Logic, Computation,, Research Unit for Formal Methods in Systems Engineering, (2) Brno University, of Technology, FIT, (3) Masaryk University

TL;DR
This paper enhances biabduction-based shape analysis by introducing shared abduction and biabductive loop acceleration, improving precision and efficiency in verifying complex linked data structures.
Contribution
It proposes a novel shared abduction framework and biabductive loop acceleration with shape extrapolation, addressing key limitations in prior shape analysis techniques.
Findings
Improved analysis precision and efficiency.
Enhanced handling of list-like data structures.
Experimental results show better performance over prior methods.
Abstract
Biabduction-based shape analysis is a compositional verification and analysis technique that can prove memory safety in the presence of complex, linked data structures. Despite its usefulness, several open problems persist for this kind of analysis; two of which we address in this paper. On the one hand, the original analysis is path-sensitive but cannot combine safety requirements for related branches. This causes the analysis to require additional soundness checks and decreases the analysis' precision. We extend the underlying symbolic execution and propose a framework for shared abduction where a common pre-condition is maintained for related computation branches. On the other hand, prior implementations lift loop acceleration methods from forward analysis to biabduction analysis by applying them separately on the pre- and post-condition, which can lead to imprecise or even unsound…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Parallel Computing and Optimization Techniques
