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

9Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free