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
Link To Document :
بازگشت