A Toolchain to Produce Verified OCaml Libraries - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2020

A Toolchain to Produce Verified OCaml Libraries

Résumé

This paper presents a methodology to get correct-by-construction OCaml programs using the Why3 tool. First, a formal behavioral specification is given in the form of an OCaml module signature extended with type invariants and function contracts, in the spirit of JML. Second, an implementation is written in the programming language of Why3 and then verified with respect to the specification. Finally, an OCaml program is obtained by an automated translation. Our methodology is illustrated with the proof of a union-find library. Several other proofs of data structures and algorithms are included in the companion artifact to this paper.
Fichier principal
Vignette du fichier
main.pdf (222.17 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01783851 , version 1 (02-05-2018)
hal-01783851 , version 2 (28-01-2020)

Licence

Paternité

Identifiants

  • HAL Id : hal-01783851 , version 2

Citer

Jean-Christophe Filliâtre, Léon Gondelman, Cláudio Lourenço, Andrei Paskevich, Mário Pereira, et al.. A Toolchain to Produce Verified OCaml Libraries. 2020. ⟨hal-01783851v2⟩
485 Consultations
552 Téléchargements

Partager

Gmail Facebook X LinkedIn More