• DocumentCode
    2417029
  • Title

    Reasoning about pointers in refinement calculus

  • Author

    Back, Ralph-Johan ; Fan, Xiaocong ; Preoteasa, Viorel

  • Author_Institution
    Dept. of Comput. Sci., Abo Akad. Univ. & Turku Centre for Comput. Sci., Finland
  • fYear
    2003
  • fDate
    10-12 Dec. 2003
  • Firstpage
    425
  • Lastpage
    434
  • Abstract
    Pointers are an important programming concept. They are used explicitly or implicitly in many programming languages. In particular, the semantics of object-oriented programming languages rely on pointers. We introduce a semantics for pointer structures. Pointers are seen as indexes and pointer fields are functions from these indexes to values. Using this semantics we turn all pointer operations into simple assignments and then we use refinement calculus techniques to construct a pointer-manipulating program that checks whether or not a single linked list has a loop. We also introduce an induction principle on pointer structures in order to reduce complexity of the proofs.
  • Keywords
    data structures; object-oriented programming; program control structures; programming language semantics; reasoning about programs; refinement calculus; object-oriented programming languages; pointer structures; pointer-manipulating program; programming language semantics; refinement calculus; single linked list; Calculus; Computer languages; Computer science; Information science; Java; Logic programming; Object oriented modeling; Object oriented programming; Programming profession; Software engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering Conference, 2003. Tenth Asia-Pacific
  • Print_ISBN
    0-7695-2011-1
  • Type

    conf

  • DOI
    10.1109/APSEC.2003.1254398
  • Filename
    1254398