Toward Certification for Free! - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2017

Toward Certification for Free!

Résumé

How can we reduce the required effort to develop certified programs in proof assistants such as Coq? A major trend is to introduce untrusted oracles able to justify their answers by producing a certificate, i.e. a witness of their computations. A trustworthy result is then built from this certificate by a certified checker. This alleviates the burden of proof, but producing certificates is a requirement which increases complexity of oracle development. We propose a design pattern, called Polymorphic LCF Style, that removes the need for certificates: ML oracles directly compute the certified result by invoking trusted operators and datastructures extracted from Coq. But, oracles only handle these datastructures as polymorphic values, which forbids oracles to forge incorrect results. This design thus delegates a part of the certification to the ML typechecker. Correctness comes from a weak parametricity property of imperative ML polymorphic types that we call parametric invariance. We demonstrate the relevance of Polymorphic LCF Style for the certification of a realistic library: an abstract domain of convex polyhedra.
Fichier principal
Vignette du fichier
main_preprint.pdf (946.67 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01558252 , version 1 (07-07-2017)
hal-01558252 , version 2 (27-09-2017)
hal-01558252 , version 3 (19-07-2019)

Identifiants

  • HAL Id : hal-01558252 , version 3

Citer

Sylvain Boulmé, Alexandre Maréchal. Toward Certification for Free!: Correct-By-Construction ML Oracles with Polymorphic LCF Style. 2017. ⟨hal-01558252v3⟩

Relations

634 Consultations
1640 Téléchargements

Partager

Gmail Facebook X LinkedIn More