DocumentCode :
2383807
Title :
Abstracting Pointers for a Verifying Compiler
Author :
Kulczycki, Gergory ; Keown, H. ; Sitaraman, Murali ; Weide, B.W.
Author_Institution :
Virginia Tech, Falls Church
fYear :
2007
fDate :
March 6 2007-Feb. 8 2007
Firstpage :
204
Lastpage :
213
Abstract :
The ultimate objective of a verifying compiler is to prove that proposed code implements a full behavioral specification. Experience reveals this to be especially difficult for programs that involve pointers or references and linked data structures. In some situations, pointers are unavoidable; in some others, verification can be simplified through suitable abstractions. Regardless, a verifying compiler should be able to handle both cases, preferably using the same set of rules. To illustrate how this can be done, we examine two approaches to full verification. One replaces language- supplied indirection with software components whose specifications abstract pointers and pointer- manipulation operations. Another approach uses abstract specifications to encapsulate data structures that pointers and references are often used to implement, limiting verification complications to inside the implementations of these components. Using a modular, specification-based tool we have developed for verification condition generation, we show that full verification of programs with and without the direct use of pointers can be handled similarly. There is neither a need to focus on selected pointer properties, such as the absence of null references or cycles, nor a need for special rules to handle pointers.
Keywords :
data structures; formal specification; program compilers; program verification; abstracting pointers; data structures; full behavioral specification; full program verification; modular specification based tool; pointer manipulation operations; verifying compiler; Creep; Data structures; Formal verification; Humans; Mission critical systems; NASA; Programming profession; Virtual colonoscopy;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering Workshop, 2007. SEW 2007. 31st IEEE
Conference_Location :
Columbia, MD
ISSN :
1550-6215
Print_ISBN :
978-0-7695-2862-5
Type :
conf
DOI :
10.1109/SEW.2007.89
Filename :
4402779
Link To Document :
بازگشت