Synthesizing Certified Code

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.


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


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.

Item Type: Conference or Workshop Item (Paper)
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
ePrint ID: 262941
Date :
Date Event
Date Deposited: 06 Sep 2006
Last Modified: 17 Apr 2017 21:34
Further Information:Google Scholar

Actions (login required)

View Item View Item