Leroy and Blazy were right: their memory model soundness proof is automatable (Extended Version)

12/05/2022
by   Pedro Barroso, et al.
0

Xavier Leroy and Sandrine Blazy in 2007 conducted a formal verification, using the Coq proof assistant, of a memory model for low-level imperative languages such as C. Considering their formalization was performed essentially in first-order logic, one question left open by the authors was whether their proofs could be automated using a verification framework for first-order logic. We took the challenge and automated their formalization using Why3, significantly reducing the proof effort. We systematically followed the Coq proofs and realized that in many cases at around one third of the way Why3 was able to discharge all VCs. Furthermore, the proofs still requiring interactions (e.g. induction, witnesses for existential proofs, assertions) were factorized isolating auxiliary results that we stated explicitly. In this way, we achieved an almost-automatic soundness and safety proof of the memory model. Nonetheless, our development allows an extraction of a correct-by-construction concrete memory model, going thus further than the preliminary Why version of Leroy and Blazy.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/27/2010

Proofs, proofs, proofs, and proofs

In logic there is a clear concept of what constitutes a proof and what n...
research
03/18/2019

Working with first-order proofs and provers

Verifying software correctness has always been an important and complica...
research
08/20/2020

DataProVe: A Data Protection Policy and System Architecture Verification Tool

In this paper, we propose a tool, called DataProVe, for specifying high-...
research
10/22/2019

Metamath Zero: The Cartesian Theorem Prover

As the usage of theorem prover technology expands, so too does the relia...
research
11/21/2022

Completeness Thresholds for Memory Safety: Early Preliminary Report

In this early preliminary report on an ongoing project, we present – to ...
research
04/21/2022

Passport: Improving Automated Formal Verification Using Identifiers

Formally verifying system properties is one of the most effective ways o...
research
03/08/2021

Formal Verification of Authenticated, Append-Only Skip Lists in Agda: Extended Version

Authenticated Append-Only Skiplists (AAOSLs) enable maintenance and quer...

Please sign up or login with your details

Forgot password? Click here to reset