• DocumentCode
    1688114
  • Title

    A Simple Model for Certifying Assembly Programs with First-Class Function Pointers

  • Author

    Wang, Wei ; Shao, Zhong ; Jiang, Xinyu ; Guo, Yu

  • Author_Institution
    Sch. of Comput. Sci. & Technol., Univ. of Sci. & Technol. of China, Hefei, China
  • fYear
    2011
  • Firstpage
    125
  • Lastpage
    132
  • Abstract
    First-class function pointers are common in low-level assembly languages. Higher-level features such as closures, virtual functions, and call-backs are all compiled down to assembly code with function pointers. Function pointers are, however, hard to reason about. Previous program logics for certifying assembly programs either do not support first-class function pointers, or follow Continuation-Passing-Style reasoning which does not provide the same partial correctness guarantee as in high-level languages. In this paper, we present a simple semantic model for certifying the partial correctness property of assembly programs with first-class function pointers. Our model does not require any complex domain-theoretical construction, instead, it is based on a novel step-indexed, direct-style operational semantics for our assembly language. From the model, we derive a new program logic named ISCAP (or Indexed SCAP). We use an example to demonstrate the power and simplicity of ISCAP. The semantic model, the ISCAP logic, and the soundness proofs have been implemented in the Coq proof assistant.
  • Keywords
    high level languages; logic programming; ISCAP; assembly program certification; continuation passing style reasoning; first class function pointers; function pointers; high-level languages; program logic; Assembly; Cascading style sheets; Cognition; Indexes; Registers; Safety; Semantics;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Theoretical Aspects of Software Engineering (TASE), 2011 Fifth International Symposium on
  • Conference_Location
    Xi´an, Shaanxi
  • Print_ISBN
    978-1-4577-1487-0
  • Type

    conf

  • DOI
    10.1109/TASE.2011.16
  • Filename
    6042070