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 Free-Spec 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 Free-Spec.Exec, a plugin for Coq to seamlessly execute certified programs written with FreeSpec.
Author supplied keywords
Cite
CITATION STYLE
Letan, T., & Regis-Gianas, Y. (2020). FreeSpec: Specifying, verifying, and executing impure computations in Coq. In CPP 2020 - Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2020 (pp. 32–46). Association for Computing Machinery, Inc. https://doi.org/10.1145/3372885.3373812
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.