FoCaLiZe: Inside an F-IDE

François Pessaux
(ENSTA ParisTech)

For years, Integrated Development Environments have demonstrated their usefulness in order to ease the development of software. High-level security or safety systems require proofs of compliance to standards, based on analyses such as code review and, increasingly nowadays, formal proofs of conformance to specifications. This implies mixing computational and logical aspects all along the development, which naturally raises the need for a notion of Formal IDE. This paper examines the FoCaLiZe environment and explores the implementation issues raised by the decision to provide a single language to express specification properties, source code and machine-checked proofs while allowing incremental development and code reusability. Such features create strong dependencies between functions, properties and proofs, and impose an particular compilation scheme, which is described here. The compilation results are runnable OCaml code and a checkable Coq term. All these points are illustrated through a running example.

In Catherine Dubois, Dimitra Giannakopoulou and Dominique Méry: Proceedings 1st Workshop on Formal Integrated Development Environment (F-IDE 2014), Grenoble, France, April 6, 2014, Electronic Proceedings in Theoretical Computer Science 149, pp. 64–78.
Published: 26th April 2014.

ArXived at: https://dx.doi.org/10.4204/EPTCS.149.7 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org