Skip to Main content Skip to Navigation
Preprints, Working Papers, ...

Toward Certification for Free!: Correct-By-Construction ML Oracles with Polymorphic LCF Style

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.
Complete list of metadatas

Cited literature [32 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-01558252
Contributor : Sylvain Boulmé <>
Submitted on : Friday, July 19, 2019 - 5:16:34 PM
Last modification on : Friday, July 3, 2020 - 4:43:09 PM

File

main_preprint.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01558252, version 3

Collections

Citation

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

Share

Metrics

Record views

91

Files downloads

72