Toward Certification for Free! - Archive ouverte HAL
Preprints, Working Papers, ... Year : 2017

Toward Certification for Free!

Abstract

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
PFS.pdf (1020.32 Ko) Télécharger le fichier
Origin Files produced by the author(s)
Loading...

Dates and versions

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

Identifiers

  • HAL Id : hal-01558252 , version 1

Cite

Sylvain Boulmé, Alexandre Maréchal. Toward Certification for Free!. 2017. ⟨hal-01558252v1⟩
655 View
1658 Download

Share

More