Formal Foundations for Translational Separation Logic Verifiers (extended version)

Uloženo v:
Podrobná bibliografie
Vydáno v:arXiv.org (Dec 20, 2024), p. n/a
Hlavní autor: Thibault Dardinier
Další autoři: Sammler, Michael, Parthasarathy, Gaurav, Summers, Alexander J, Müller, Peter
Vydáno:
Cornell University Library, arXiv.org
Témata:
On-line přístup:Citation/Abstract
Full text outside of ProQuest
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!

MARC

LEADER 00000nab a2200000uu 4500
001 3086133856
003 UK-CbPIL
022 |a 2331-8422 
024 7 |a 10.1145/3704856  |2 doi 
035 |a 3086133856 
045 0 |b d20241220 
100 1 |a Thibault Dardinier 
245 1 |a Formal Foundations for Translational Separation Logic Verifiers (extended version) 
260 |b Cornell University Library, arXiv.org  |c Dec 20, 2024 
513 |a Working Paper 
520 3 |a 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 operational semantics and formally connect it to two different back-end verifiers, which use symbolic execution and verification condition generation, resp. Crucially, this semantics uses angelic non-determinism to enable the application of different proof search algorithms and heuristics in the back-end verifiers. An axiomatic semantics for the core IVL simplifies reasoning about the front-end translation by performing essential proof steps once and for all in the equivalence proof with the operational semantics rather than for each concrete front-end translation. We illustrate the usefulness of our formal framework by instantiating our core IVL with elements of Viper and connecting it to two Viper back-ends as well as a front-end for concurrent separation logic. All our technical results have been formalized in Isabelle/HOL, including the core IVL and its semantics, the semantics of two back-ends for a subset of Viper, and all proofs. 
653 |a Search algorithms 
653 |a Program verification (computers) 
653 |a Semantics 
653 |a Separation 
653 |a Logic 
653 |a Reasoning 
653 |a Translations 
700 1 |a Sammler, Michael 
700 1 |a Parthasarathy, Gaurav 
700 1 |a Summers, Alexander J 
700 1 |a Müller, Peter 
773 0 |t arXiv.org  |g (Dec 20, 2024), p. n/a 
786 0 |d ProQuest  |t Engineering Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3086133856/abstract/embedded/6A8EOT78XXH2IG52?source=fedsrch 
856 4 0 |3 Full text outside of ProQuest  |u http://arxiv.org/abs/2407.20002