• 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