A pointer logic and certifying compiler

CHEN Yiyun, GE Lin, HUA Baojian, LI Zhaopeng, LIU Cheng, WANG Zhifang

PDF(1630 KB)
PDF(1630 KB)
Front. Comput. Sci. ›› 2007, Vol. 1 ›› Issue (3) : 297-312. DOI: 10.1007/s11704-007-0029-9

A pointer logic and certifying compiler

  • CHEN Yiyun, GE Lin, HUA Baojian, LI Zhaopeng, LIU Cheng, WANG Zhifang
Author information +
History +

Abstract

Proof-Carrying Code brings two big challenges to the research field of programming languages. One is to seek more expressive logics or type systems to specify or reason about the properties of low-level or high-level programs. The other is to study the technology of certifying compilation in which the compiler generates proofs for programs with annotations. This paper presents our progress in the above two aspects. A pointer logic was designed for PointerC (a C-like programming language) in our research. As an extension of Hoare logic, our pointer logic expresses the change of pointer information for each statement in its inference rules to support program verification. Meanwhile, based on the ideas from CAP (Certified Assembly Programming) and SCAP (Stack-based Certified Assembly Programming), a reasoning framework was built to verify the properties of object code in a Hoare style. And a certifying compiler prototype for PointerC was implemented based on this framework. The main contribution of this paper is the design of the pointer logic and the implementation of the certifying compiler prototype. In our certifying compiler, the source language contains rich pointer types and operations and also supports dynamic storage allocation and deallocation.

Cite this article

Download citation ▾
CHEN Yiyun, GE Lin, HUA Baojian, LI Zhaopeng, LIU Cheng, WANG Zhifang. A pointer logic and certifying compiler. Front. Comput. Sci., 2007, 1(3): 297‒312 https://doi.org/10.1007/s11704-007-0029-9
AI Summary AI Mindmap
PDF(1630 KB)

Accesses

Citations

Detail

Sections
Recommended

/