Litcius/Paper detail

FreeSpec: specifying, verifying, and executing impure computations in Coq

Thomas Letan, Yann Régis-Gianas

202025 citationsDOIOpen Access PDF

Abstract

FreeSpec is a framework for the Coq theorem prover which allows for specifying and verifying complex systems as hierarchies of components verified both in isolation and in composition. While FreeSpec was originally introduced for reasoning about hardware architectures, in this article we propose a novel iteration of FreeSpec formalism specifically designed to write certified programs and libraries. Then, we present in depth how we use this formalism to verify a static files webserver. We use this opportunity to present FreeSpec proof automation tactics, and to demonstrate how they successfully erase FreeSpec internal definitions to let users focus on the core of their proofs. Finally, we introduce FreeSpec.Exec, a plugin for Coq to seamlessly execute certified programs written with FreeSpec.

Topics & Concepts

Computer scienceProof assistantProgramming languageMathematical proofGas meter proverAutomated theorem provingFormalism (music)CertificationAutomationFormal verificationTheoretical computer scienceSoftware engineeringMathematicsLawVisual artsEngineeringMechanical engineeringMusicalArtPolitical scienceGeometryLogic, programming, and type systemsSecurity and Verification in ComputingFormal Methods in Verification
FreeSpec: specifying, verifying, and executing impure computations in Coq | Litcius