期刊文献+

基于模拟关系的编译优化实现正确性验证方法 被引量:2

Verifying Implementation Correctness of Compiling Optimization Based on Simulation Relation
下载PDF
导出
摘要 编译器中通常采用各种优化方法来提高目标代码的质量,为了实现较好的效果,一些编译优化算法通常十分复杂,很容易给可靠性和安全性带来隐患.现有的编译器缺陷大部分是由优化阶段引起的.传统的编译优化正确性研究大部分只关注优化算法的正确性,但是只有该算法被正确的实现了才能确保实际运行的优化过程是正确的.本文提出一种基于模拟关系的方法来验证编译优化实现的正确性.在每次优化结束后,我们通过建立优化前代码和优化后代码之间的模拟关系生成优化正确应满足的逻辑条件,然后验证逻辑条件是否成立从而判定编译优化的实现是否正确性.以优化编译中的常量折叠优化和变量替换的验证作为示例显示了本方法的有效性和可靠性. Many optimization methods are used to raise the quality of target code in the process of compiling.Because some optimization methods for compiling are too complicated,hidden dangers won′t be avoided for reliability and security of compiling.The existing defects of compiler are usually caused at the optimization phase.Mostly traditional correctness of compiling optimization only focus on correctness of optimization algorithm,but only when the algorithm is implemented correctly,the optimization process run in practice can be proved to be correct.This paper proposes a method based on simulation relation to verify correctness of compiling optimization realization.We build up simulation relation between code before optimization and code after optimization to generate logic condition that the correctness optimization should satisfy,and then we verify it if logic condition is satisfied or not to judge if compiling optimization realization is correct or not after each optimization is finished.The method is proved to be effective and reliable by verifying statement exchange and variable substitution in the process of optimization compiling.
出处 《电子学报》 EI CAS CSCD 北大核心 2012年第11期2171-2176,共6页 Acta Electronica Sinica
基金 国家自然科学基金重点项目(No.91118003) 国家自然科学基金面上项目(No.61170022)
关键词 编译优化 正确性 模拟关系 定理证明 compiling optimization correctness simulation relation theorem proving
  • 相关文献

参考文献25

  • 1Lacey D' Jones ND, Wyk EV, Frederiksen CC. Compiler opti-mization camectness by temlxral logic [ J ]. Higher-Order and Symbolic Computation, 2004,17(3 ) : 173 - 206.
  • 2Frederiksen CC. Correcmess of classical compiler opfimizations using CTL[ J]. Electronic Notes in Theoretical Computer Sci- ence,2002,65(2) :37 - 51.
  • 3Abo AV, Sethi R, Ullman JD. Compilers: Principles, Tech- niques, and Tools [ M ]. Boston: Addison-Wesley, 1986:86 - 99.
  • 4Kozen D, Patron M. Certification of compiler opfimizatious us- ing Kleene algebra with testsE A] .In:Lloyd nE Dahl v, Furbach U. Kerber M, Lau K, Palamidessi C. Pereim LM, Sagiv Y, Stuckey PJ, eds. Proc. of the I st Int' 1 Conf. on Computational Logic(CL2000) [ C ]. London: Springer-Verlag, 2000. 568 - 582.
  • 5Benton N. Simple relational correctness proofs for static analy- ses and program transformations[ J]. ACI SIGPLAN Notices, 2004.39(1) :14- 25.
  • 6Muchnick SS. Advanced Compiler Design and Implementation [M]. San Francisco:Morgan Kaufmann Publishers, 1997:106 - 110.
  • 7Alien R, Kennedy K. Optimizing Compilers for Modem Archi- tectures: A Dependence-Based Approach[ M]. San Francisco: Morgan Kaufinann Publishers,2002:23- 30.
  • 8Wand M. Specifying the correctness of binding time analysis [A]. In: Deusen MV, Lang B, eds. Proc. of the 20th ACM SIGPLANSIGACT Symp. on Principles of Programming Lan- guages[ C]. New York: ACM Press, 1993.137 - 143.
  • 9Wand M, Siveroni I. Constraint systems for useless variable e- limination[ A ]. In: Appel A, Aiken A . eds. Proc. of the 26th ACM SIGPLAN-S1GACT Syrup. On Principles of Programming Languages[ C ]. NewYork: ACMPress, 1999.291 - 302.
  • 10Kubayashi N. Type-Based useless variable ellmination [ J ]. ACM S 1GPLANNotices, 1999,34(11) : 84-93.

二级参考文献76

  • 1张焕国,罗捷,金刚,朱智强,余发江,严飞.可信计算研究进展[J].武汉大学学报(理学版),2006,52(5):513-518. 被引量:114
  • 2Oliver Ruthing,Jens Knoop, and Bernhard Steffen. Detecting equalities of variables: Combining efficiency with precision[ A]. SAS[ C ]. Berlin: Springer, 1999.232 - 247.
  • 3Cliff Click. Global code motion/global value mumbering[A]. PLDI[ C] .New York: ACM, 1995. 246 - 257.
  • 4Thomas John VanDrunen. Partial redundancy elimination for global value numbering [ D ]. West Lafayette: Purdue University, 2004.
  • 5Loren Taylor Simpson. Value-Driven Redundancy Elimination [D]. Houston: Rice University, 1996.
  • 6Sumit Gulwani and George C. Necula. A polynomial-time algorithm for global value numbering [ A ]. SAS [ C ]. Berlin: Swinger, 2004. 212 - 227.
  • 7Bernhard Steffen, Jens Knoop, and Oliver Rtithing. The value flow graph: A program representation for optimal program transformations[ A]. ESOP[ C]. Berlin: Springer, 1990. 389 - 405.
  • 8Jiu-Tao Nie and Xu Cheng. An Efficient SSA-Based Algorithm for Complete Global Value Numbering [ A ]. APLAS [ C ]. Berlin: Springer, 2007. 319 - 334.
  • 9Karthik Gargi. A sparse algorithm for predicated global value numbering[ A ]. PLDI[ C]. New York: ACM, 2002.45 - 56.
  • 10Sumit Gulwani and George C. Necula. Global value numbering using random interpretation[ A ]. POPL[ C ]. New York: ACM, 2004.342 - 352.

共引文献25

同被引文献47

  • 1S Rehman,M Shafique,F Kriebel,J Henkel.Reliable software for unreliable hardware:embedded code generation aiming at reliability[A].In Proceedings of the seventh IEEE/ACM/IFIPinternational conference on Hardware/software codesign and system synthesis[C].Taipei,Taiwan:ACM,2011.237-246.
  • 2Maheswaran M,H J Siegel.ADynamic matching and scheduling algorithm for heterogeneous computing systems[A].Heterogeneous Computing Workshop[C].Orlando,USA:IEEE Computer Society,1998.57-69.
  • 3A J Page,T J Naughton.Dynamic task scheduling using genetic algorithms for heterogeneous distributed computing[A].International Parallel and Distributed Processing Symposium[C].Denver,USA:IEEE Computer Society,2005.189-197.
  • 4Y H Yang,S S Yu,X L Bin.A new dynamic scheduling algorithm for real-time heterogeneous multiprocessor systems[A].Proceedings of the Workshop on Intelligent Information Technology Application[C].Washington,USA:IEEE Computer Society,2007.112-115.
  • 5Nacul A,Regazzoni F,Lajolo M.Hardware scheduling support in SMP architectures[A].Proceedings of the design automation and test in Europe conference[C].Nice,France:ACM,2007.1--6.
  • 6J Lee,et al.Compiler approach for reducing soft errors inregister file[A].Conference on Languages,Compilers,and Tools for Embedded Systems[C].Dublin,Ireland:ACM,2009.41-49.
  • 7J Yan,et al.Compiler guided register reliability improvement against soft errors[A].International Conference on Embedded Software[C].Jersey City,New Jersey,USA:IEEE Computer Society,2005.203-209.
  • 8X Fu,W Zhang,T Li,J Fortes.Optimizing issue queue reliability to soft errors on simultaneous multithreaded architectures[A].International Coference on parallel Processing[C].Portland,Oregon,USA:IEEE Computer Society,2008.190-197.
  • 9V Sarkar.Optimized unrolling of nested loops[J].International Journal on Parallel Programing,2001,29(5):545-581.
  • 10V Sridharan.Introducing abstraction to vulnerability analysis[D].Ph.D.Theais,2010.45-55.

引证文献2

二级引证文献10

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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