作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2009, Vol. 35 ›› Issue (7): 132-135. doi: 10.3969/j.issn.1000-3428.2009.07.045

• 安全技术 • 上一篇    下一篇

一个出具证明编译器后端的设计与实现

田 波,陈意云,王 伟,李兆鹏,王志芳   

  1. (1. 中国科学技术大学计算机科学技术系,合肥 230027;2. 中国科学技术大学苏州研究院软件安全实验室,苏州 215123)
  • 收稿日期:1900-01-01 修回日期:1900-01-01 出版日期:2009-04-05 发布日期:2009-04-05

Design and Implementation of Certifying Compiler Back End

TIAN Bo, CHEN Yi-yun, WANG Wei, LI Zhao-peng, WANG Zhi-fang   

  1. (1. Department of Computer Science and Technology, University of Science and Technology of China, Hefei 230027; 2. Software Security Laboratory, Suzhou Institute for Advanced Study, University of Science and Technology of China, Suzhou 215123)
  • Received:1900-01-01 Revised:1900-01-01 Online:2009-04-05 Published:2009-04-05

摘要: 设计并实现一个类C语言PointerC的出具证明编译器后端。该后端采用最强后条件演算同步处理整型断言和指针断言实现整型验证条件和指针验证条件的证明,能够完全自动地产生目标级程序的指针安全性证明,处理常见递归数据结构中的非一致性别名问题。后端包括独立的定理检查器,能够检验携证明代码的完整性。

关键词: 高可信软件, 出具证明编译器, 指针安全, 汇编代码

Abstract: This paper introduces the design and implementation of a certifying complier back end for a C-like language, PointerC. The back end adopts the strongest post-conditions calculation for both integer assertion and pointer assertion synchronously, and proofs the verification conditions involving integers and pointers. It generates the proofs of pointer safety at the assembly level full-automatically, and solves the problem of the non-uniform alias analysis in commonly used data structures. The proof checker, which checks the integrity of proof-carrying code, is included in the back end.

Key words: high-assurance software, certifying compiler, pointer safety, assembly code

中图分类号: