Journal of Frontiers of Computer Science and Technology ›› 2011, Vol. 5 ›› Issue (1): 1-22.DOI: 10.3778/j.issn.1673-9418.2011.01.001

• 综述·探索 • Previous Articles     Next Articles

Theory and Key Implementation Techniques of Trusted Compiler: A Survey

HE Yanxiang1,2+, WU Wei2, LIU Tao2, LI Qingan2, CHEN Yong2, HU Minghao2, LIU Jianbo2,SHI Qian2   

  1. 1. School of Computer, Wuhan University, Wuhan 430072, China
    2. State Key Laboratory of Software Engineering, Wuhan University, Wuhan 430072, China
  • Received:1900-01-01 Revised:1900-01-01 Online:2011-01-01 Published:2011-01-01
  • Contact: HE Yanxiang


何炎祥 1,2+, 吴伟 2, 刘陶 2, 李清安2, 陈勇 2, 胡明昊2, 刘健博2, 石谦 2   

  1. 1. 武汉大学计算机学院, 武汉 430072
    2. 武汉大学软件工程国家重点实验室, 武汉 430072

  • 通讯作者: 何炎祥


Compiler is one of the most important system software, software written in high level programming language needs compiler to become an executable program. Compiler’s trust has great significance for the whole computer system. If the compiler is not trusted, the software’s trust cannot be guaranteed at runtime. Trusted compiling means that the compiler guarantees its own trust and provides measures to guarantee the trust of the compiled object.It is important and useful to research into the theory and technique of trusted compiler. The paper gives a clear description of the notion of trusted compiler and introduces the formal definition of the correctness of compiling.The main research content is summarized. Based on a complete analysis of related work, the related theories and techniques on design and implementation of trusted compiler are classified and summarized from two aspects: The compiler’s own trust and the guarantee of the trust of program being compiled. At last, the paper discusses the problems to be solved on trusted compiler research and points out the future directions.

Key words: trusted compiler, correctness of compiling, compiler verification, trusted software

摘要: 编译器是重要的系统软件之一, 高级语言编写的软件都必须经过编译器的编译才能成为可执行程 序。编译器的可信性对于整个计算机系统而言具有非常关键的意义, 如果编译器不可信, 则很难保证系统所运行软件的可信性。可信编译是指编译器在保证编译正确的同时提供相应的机制保证编译对象的可信性, 对可信编译理论和技术的研究具有重要理论意义和实用前景。阐述了可信编译器的概念, 介绍了编译过程正确性的形式化定义, 对可信编译的主要研究内容进行了概括。在全面分析可信编译研究现状的基础上, 从编译器自身可信性和确保编译对象可信性两个方面, 对可信编译器设计和实现的相关理论和方法进行了分类和总结。最后, 讨论了可信编译有待解决的问题和未来的研究方向。

关键词: 可信编译器, 编译正确性, 编译器验证, 可信软件

CLC Number: