期刊文献+

一种出具证明编译器中的汇编级断言和证明生成的方法 被引量:1

Assertion and Proof Generation for Assembly Code in Certifying Compiler
下载PDF
导出
摘要 携带证明代码允许代码消费方通过检查代码生产方提供的证明,来判断代码是否满足相应的安全规范.本文实现了一个类C语言的出具证明编译器原型,它在将带有规范标注的源代码编译成汇编代码的同时,还能产生汇编代码满足相应规范的Coq可检查证明,从而保证汇编代码的安全性.本文设计了一种Hoare风格的汇编级验证框架,并在此框架下提出并实现一种新的自动生成汇编级断言和证明的方法. Proof-carrying code(PCC) is a technique that allows the code consumer to check whether the code is safe to execute via a formal safety proof provided by the code producer.A certifying compiler implements the technology of PCC by compiling annotated source code into low-level code and proof which can be checked by Coq.In this paper,we present a low-level verification framework following Hoare-style certification methods.Based on the framework,we give a definition of assertion language for assembly code and a feasible method to automatically generate assertions and proof for assembly code.
出处 《小型微型计算机系统》 CSCD 北大核心 2011年第6期1164-1169,共6页 Journal of Chinese Computer Systems
基金 国家自然科学基金项目(90718026)资助 江苏省自然科学基金项目(BK2008181)资助
关键词 程序验证 携带证明代码 出具证明编译器 汇编级验证 program verification proof-carrying code certifying compiler verification on assembly code
  • 相关文献

参考文献3

二级参考文献63

  • 1项森,陈意云,林春晓,李隆.动态存储管理安全验证的Coq实现[J].计算机研究与发展,2007,44(2):361-367. 被引量:2
  • 2Necula G. Proof-carrying code. In Proc. 24th ACM Syrup. Principles of Prog. Lang., New York, ACM Press, January 1997, pp.106-119.
  • 3Morrisett G, Walker D, Crary K, Glew N. From system F to typed assembly language. ACM Trans. Prog. Lang. and Sys., 1999, 21(3): 527-568.
  • 4Jones R E. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Chichester: Wiley, July 1996, With a chapter on Distributed Garbage Collection by R. Lins.
  • 5Boehm H, Weiser M. Garbage collection in an uncooperative environment. Software Practice and Exp., 1988, 18(9): 807-820.
  • 6Feng X Y, Shao Z, Vaynberg Aet al. Modular verification of assembly code with stack-based control abstractions. In Proc. 2006 ACM Conf. Prog. Lang. Design and Impl., Ottawa, Canada, June 2006, ACM Press, pp.401-414.
  • 7Reynolds J C. Separation logic: A logic for shared mutable data structures. In Proc. 17th IEEE Syrup. Logic in Comp. Sci., Washington DC, USA, IEEE Comp. Soc., 2002, pp.55-74.
  • 8Coq Development Team. The Coq proof assistant reference manual. Coq release v8.0, October 2005.
  • 9Appel A W. Foundational proof-carrying code. In Proc. 16th IEEE Syrup. Logic in Comp. Sci., IEEE Comp. Soc., Boston, USA, June 2001, pp.247-258.
  • 10Feng X, Ni Z, Shao Z, Guo Y. An open framework for foundational proof-carrying code. In Proc. 3rd ACM SIGPLAN Workshop on Types in Lang. Design and Impl., Nice, France, ACM Press, January 2007, pp.67-78.

共引文献22

同被引文献4

引证文献1

二级引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部