Formal Foundations for Translational Separation Logic Verifiers (extended version)
Thibault Dardinier (ETH Zurich), Michael Sammler (ETH Zurich), Gaurav, Parthasarathy (ETH Zurich), Alexander J. Summers (University of British, Columbia), Peter M\"uller (ETH Zurich)

TL;DR
This paper develops a formal framework for reasoning about translational separation logic verifiers, connecting front-end translations to back-end verifiers through a core IVL with formal semantics, all formalized in Isabelle/HOL.
Contribution
It introduces a generic core IVL for separation logic verification, formalizes its semantics, and connects it to back-end verifiers, enabling soundness proofs for translational verification tools.
Findings
Formal core IVL captures essence of separation logics
Semantics connects front-end translation to back-end verification
All results formalized in Isabelle/HOL
Abstract
Program verification tools are often implemented as front-end translations of an input program into an intermediate verification language (IVL) such as Boogie, GIL, Viper, or Why3. The resulting IVL program is then verified using an existing back-end verifier. A soundness proof for such a translational verifier needs to relate the input program and verification logic to the semantics of the IVL, which in turn needs to be connected with the verification logic implemented in the back-end verifiers. Performing such proofs is challenging due to the large semantic gap between the input and output programs and logics, especially for complex verification logics such as separation logic. This paper presents a formal framework for reasoning about translational separation logic verifiers. At its center is a generic core IVL that captures the essence of different separation logics. We define its…
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.
