×

循环转换的翻译和运行时验证。 (英语) Zbl 1083.68555号

摘要:本文提出了新的方法来验证编译器用来从现代体系结构中获得最高性能的循环优化。翻译验证方法不是验证编译器,而是在每次运行编译器后执行验证检查,生成一个正式的证据,证明生成的目标代码是源代码的正确实现。
作为正在进行的翻译验证研究项目的一部分,我们之前描述了验证保留代码循环结构的优化的方法,并提出了一种基于仿真的通用技术来验证此类优化。本文中,对于改变代码循环结构(如分布、融合、平铺和交换)的更积极的优化,我们提出了一组置换规则,确定转换后的代码满足所考虑转换有效性所必需的所有隐含数据依赖性。我们描述了验证这些结构修改优化所需的对我们的工具voc-64的扩展。
本文还讨论了投机循环优化的运行时验证的初步工作。这涉及到使用运行时测试来确保循环优化的正确性,而循环优化的准确性在编译时无法保证。与编译器验证不同,运行时验证不仅必须确定优化何时生成了不正确的代码,还必须在不中止程序或生成不正确结果的情况下从优化中恢复。此技术已应用于多个循环优化,包括循环交换和循环平铺,看起来很有前途。

MSC公司:

68N20型 编译与解释理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] R.Allen和K.Kennedy,为现代架构优化编译器。Morgan Kaufmann,2002年。
[2] J.C.Filliátre、S.Owre、H.Rueß和N.Shankar,《ICS:集成的经典化者和求解者》。第13届国际计算机辅助验证会议(CAV'0l),Lect第2102卷。Comp.中的注释。科学。,斯普林格-Verlag,2001年·Zbl 0996.68559号
[3] R.W.Floyd,“赋予程序意义”,Proc。应用数学研讨会,第19卷,第19-32页,1967年·Zbl 0189.50204号
[4] C.C.Frederiksen,《使用CTL的经典编译器优化的正确性》。编译器优化符合编译器验证(COCV)2002,理论计算机科学电子笔记(ENTCS),第65卷,第2期。
[5] S.Glesner、R.Geií和B.Boesler,《嵌入式系统验证代码生成》。编译器优化符合编译器验证(COCV)2002,理论计算机科学电子笔记(ENTCS),2002,第65卷,第2期。
[6] B.Goldberg、C.Huneycutt、E.Chapman和K.Palem,“软件泡沫:使用预测来补偿软件管道中的混叠”,《并行架构和编译技术国际会议论文集》,2002年。
[7] G.Goos和W.Zimmermann,“编译器的验证”,摘自《正确的系统设计》,Lect第1710卷。公司注释。科学。,施普林格出版社,1999年,第201–230页。
[8] Z.Manna、A.Anuchitanukul、N.Bjørner、A.Browne、E.Chang、M.Col,óN、L.De Alfaro、H.Devarajan、H.Sipma和T.E.Uribe,“STe P:斯坦福时间箴言,技术报告STAN-CS-TR-94-1518,公司部。科学。,斯坦福大学,加利福尼亚州斯坦福,1994年。
[9] G.C.Necula,“婚姻证明代码”,收录于1997年的POPL,第106–119页。
[10] G.Necula,“优化编译器的翻译验证”,载于《2000年ACM SIGPLAN编程语言设计与实现原则会议论文集》,2000年,第83-95页。
[11] G.C.Necula和P.Lee,“认证编译器的设计和实现”,载于《ACM SIGPLAN编程语言设计与实现原则会议论文集》,1998年,第333–344页。
[12] A.Pnueli、Y.Rodeh、O.Shtrichman和M.Siegel,“通过小域实例化确定等式”,载于CAV’99,1999年,第455-469页·Zbl 1046.68605号
[13] A.Pnueli、M.Siegel和O.Shtrichman,“代码验证工具(CVT)-编译过程的自动验证”,《技术转让软件工具》,第2卷,第2期,第192-201页,1998年·Zbl 1022.68733号 ·doi:10.1007/s100090050027
[14] A.Pnueli、M.Siegel和E.Singerman,“翻译验证”,载于1998年TACAS,第151-166页。
[15] A.Pnueli、L.Zuck和P.Pandya,“通过计算归纳法优化编译器的翻译验证”,技术报告,纽约大学数学科学学院,2000年。
[16] M.Rinard和D.Marinov,“带指针的可信编译”,《运行时结果验证研讨会论文集》,特伦托,2000年7月。
[17] X.竞争对手,《汇编代码基于抽象解释的认证》。第四届国际验证、模型检查和抽象解释会议(VMCAI'OS),Lect第2575卷。公司注释。科学。,Springer-Verlag,2003年,第41-55页·Zbl 1022.68582号
[18] N.Shankar、S.Owre和J.M.Rushby,“PVS校对员:参考手册(草案)”,技术报告,Comp。科学。,SRI国际实验室,加利福尼亚州门罗公园,1993年。
[19] K.C.Shashidhar、M.Bruynooghe、F.Catthoor和G.Janssens,《几何模型检查:循环和数据重用转换的自动验证技术》。编译器优化符合编译器验证(COCV)2002,理论计算机科学电子笔记(ENTCS),2002,第65卷,第2期。
[20] A.Stump、C.W.Barrett和D.L.Dill,“CVC:协同有效性检查器”,见Proc。第14届国际计算机辅助验证会议(CAV'02),Lect第2404卷。公司注释。科学。,Springer-Verlag,2002年,第500–504页·Zbl 1010.68720号
[21] L.Zuck、A.Pnueli、Y.Fang和B.Goldberg,“VOC:优化编译器的翻译验证器”,《通用计算机科学杂志》,第9卷,第3期,第223-247页,2003年。
[22] L.Zuck、A.Pnueli和R.Leviathan,“优化编译器的验证”,技术报告,魏茨曼科学研究所,2000年。
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。