NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Press Enter or click the Search button to begin your search.

Back to Results
Synthesizing Certified CodeCode certification is a lightweight approach to demonstrate software quality on a formal level. Its basic idea is to require producers to provide formal proofs that their code satisfies certain quality properties. These proofs serve as certificates which can be checked independently. Since code certification uses the same underlying technology as program verification, it also requires many detailed annotations (e.g., loop invariants) to make the proofs possible. However, manually adding theses annotations to the code is time-consuming and error-prone. We address this problem by combining code certification with automatic program synthesis. We propose an approach to generate simultaneously, from a high-level specification, code and all annotations required to certify generated code. Here, we describe a certification extension of AUTOBAYES, a synthesis tool which automatically generates complex data analysis programs from compact specifications. AUTOBAYES contains sufficient high-level domain knowledge to generate detailed annotations. This allows us to use a general-purpose verification condition generator to produce a set of proof obligations in first-order logic. The obligations are then discharged using the automated theorem E-SETHEO. We demonstrate our approach by certifying operator safety for a generated iterative data classification program without manual annotation of the code.
Document ID
20030064036
Acquisition Source
Langley Research Center
Document Type
Other
Authors
Whalen, Michael
(Minnesota Univ. Minneapolis, MN, United States)
Schumann, Johann
(Research Inst. for Advanced Computer Science Moffett Field, CA, United States)
Fischer, Bernd
(Research Inst. for Advanced Computer Science Moffett Field, CA, United States)
Date Acquired
September 7, 2013
Publication Date
March 1, 2002
Subject Category
Computer Programming And Software
Report/Patent Number
RIACS-TR-02.03
Report Number: RIACS-TR-02.03
Funding Number(s)
CONTRACT_GRANT: NCC2-1006
Distribution Limits
Public
Copyright
Public Use Permitted.
No Preview Available