NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Back to Results
Proving Correctness for Pointer Programs in a Verifying CompilerThis research describes a component-based approach to proving the correctness of programs involving pointer behavior. The approach supports modular reasoning and is designed to be used within the larger context of a verifying compiler. The approach consists of two parts. When a system component requires the direct manipulation of pointer operations in its implementation, we implement it using a built-in component specifically designed to capture the functional and performance behavior of pointers. When a system component requires pointer behavior via a linked data structure, we ensure that the complexities of the pointer operations are encapsulated within the data structure and are hidden to the client component. In this way, programs that rely on pointers can be verified modularly, without requiring special rules for pointers. The ultimate objective of a verifying compiler is to prove-with as little human intervention as possible-that proposed program code is correct with respect to a full behavioral specification. Full verification for software is especially important for an agency like NASA that is routinely involved in the development of mission critical systems.
Document ID
20080022230
Acquisition Source
Langley Research Center
Document Type
Conference Paper
Authors
Kulczycki, Gregory
(Virginia Polytechnic Inst. and State Univ. Blacksburg, VA, United States)
Singh, Amrinder
(Virginia Polytechnic Inst. and State Univ. Blacksburg, VA, United States)
Date Acquired
August 24, 2013
Publication Date
April 30, 2008
Publication Information
Publication: Proceedings of the Sixth NASA Langley Formal Methods Workshop
Subject Category
Mathematical And Computer Sciences (General)
Distribution Limits
Public
Copyright
Public Use Permitted.
No Preview Available