NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Due to the lapse in federal government funding, NASA is not updating this website. We sincerely regret this inconvenience.

Back to Results
Synthesizing Safety Conditions for Code Certification Using Meta-Level ProgrammingIn code certification the code consumer publishes a safety policy and the code producer generates a proof that the produced code is in compliance with the published safety policy. In this paper, a novel viewpoint approach towards an implementational re-use oriented framework for code certification is taken. It adopts ingredients from Necula's approach for proof-carrying code, but in this work safety properties can be analyzed on a higher code level than assembly language instructions. It consists of three parts: (1) The specification language is extended to include generic pre-conditions that shall ensure safety at all states that can be reached during program execution. Actual safety requirements can be expressed by providing domain-specific definitions for the generic predicates which act as interface to the environment. (2) The Floyd-Hoare inductive assertion method is refined to obtain proof rules that allow the derivation of the proof obligations in terms of the generic safety predicates. (3) A meta-interpreter is designed and experimentally implemented that enables automatic synthesis of proof obligations for submitted programs by applying the modified Floyd-Hoare rules. The proof obligations have two separate conjuncts, one for functional correctness and another for the generic safety obligations. Proof of the generic obligations, having provided the actual safety definitions as context, ensures domain-specific safety of program execution in a particular environment and is simpler than full program verification.
Document ID
20040081067
Acquisition Source
Ames Research Center
Document Type
Other
Authors
Eusterbrock, Jutta
(QSS Group, Inc. Moffett Field, CA, United States)
Date Acquired
August 21, 2013
Publication Date
January 1, 2004
Subject Category
Computer Programming And Software
Report/Patent Number
RIACS-TR-03.17
Report Number: RIACS-TR-03.17
Distribution Limits
Public
Copyright
Public Use Permitted.
No Preview Available