TL;DR
This paper introduces a generic algebraic framework for automating separation logic reasoning, enabling scalable verification of complex data structures within formal semantics, and demonstrates its effectiveness through case studies and formalization in Isabelle/HOL.
Contribution
It develops a systematic algebraic theory for separation logic predicates and creates a generic automation algorithm applicable to various data structures, improving scalability and reusability.
Findings
Automated reasoning matches state-of-the-art systems in complex data structures.
The algebraic models can be instantiated automatically for diverse data structures.
The framework is formalized and verified in Isabelle/HOL.
Abstract
Foundational verification considers the functional correctness of programming languages with formalized semantics and uses proof assistants (e.g., Coq, Isabelle) to certify proofs. The need for verifying complex programs compels it to involve expressive Separation Logics (SLs) that exceed the scopes of well-studied automated proof theories, e.g., symbolic heap. Consequently, automation of SL in foundational verification relies heavily on ad-hoc heuristics that lack a systematic meta-theory and face scalability issues. To mitigate the gap, we propose a theory to specify SL predicates using abstract algebras including functors, homomorphisms, and modules over rings. Based on this theory, we develop a generic SL automation algorithm to reason about any data structures that can be characterized by these algebras. In addition, we also present algorithms for automatically instantiating the…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
