The University of Southampton
University of Southampton Institutional Repository

Synthesizing Certified Code

Record type: Conference or Workshop Item (Paper)

Code certification is a lightweight approach for formally demonstrating software quality. Its basic idea is to require code producers to provide formal proofs that their code satisfies certain quality properties. These proofs serve as certificates that can be checked independently. Since code certification uses the same underlying technology as program verification, it requires detailed annotations (e.g., loop invariants) to make the proofs possible. However, manually adding annotations to the code is time-consuming and error-prone. We address this problem by combining code certification with automatic program synthesis. Given a high-level specification, our approach simultaneously generates code and all annotations required to certify the generated code. We describe a certification extension of AutoBayes, a synthesis tool for automatically generating data analysis programs. Based on built-in domain knowledge, proof annotations are added and used to generate proof obligations that are discharged by the automated theorem prover E-SETHEO. We demonstrate our approach by certifying operator- and memory-safety on a data-classification program. For this program, our approach was faster and more precise than PolySpace, a commercial static analysis tool.

PDF whalen-fme.pdf - Other
Download (264kB)


Whalen, Michael, Schumann, Johann and Fischer, Bernd, (2002) Synthesizing Certified Code Eriksson, Lars-Henrik and Lindsay, Peter A. (eds.) At FME 2002: Formal Methods - Getting IT Right, International Symposium of Formal Methods Europe. 22 - 24 Jul 2002. , pp. 431-450.

More information

Published date: 2002
Additional Information: Event Dates: July 22-24, 2002
Venue - Dates: FME 2002: Formal Methods - Getting IT Right, International Symposium of Formal Methods Europe, 2002-07-22 - 2002-07-24
Keywords: automatic program synthesis, program verification, code certification, proof-carrying code, automated theorem proving
Organisations: Electronic & Software Systems


Local EPrints ID: 262941
ISBN: 3-540-43928-5
PURE UUID: 946d6bc2-5e40-4527-83bd-71aeb3819b67

Catalogue record

Date deposited: 06 Sep 2006
Last modified: 18 Jul 2017 08:46

Export record


Author: Michael Whalen
Author: Johann Schumann
Author: Bernd Fischer
Editor: Lars-Henrik Eriksson
Editor: Peter A. Lindsay

University divisions

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton:

ePrints Soton supports OAI 2.0 with a base URL of

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.