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