×

资源软件语言实现的正式认证。 (英语) Zbl 1252.68070号

Berghofer,Stefan(编辑)等人,《高阶逻辑中的定理证明》。2009年8月17日至20日在德国慕尼黑举行的第22届TPHOL国际会议。诉讼程序。柏林:施普林格出版社(ISBN 978-3-642-03358-2/pbk)。计算机科学讲座笔记5674196-211(2009)。
摘要:本文介绍了使用证明助手Isabelle/HOL开发编译器后端,将函数源语言翻译为抽象机器的字节码语言。编译器的Haskell代码是从Isabelle/HOL规范中提取的,该工具也用于证明实现的正确性。主要正确性定理不仅保证了功能语义的保持,而且还保证了资源消耗的保持:语义预测的堆和堆栈图形在向抽象机器的转换中得到了确认。
该语言和开发属于一个更广泛的校对代码框架,在该框架中,将寻求有关内存消耗的正式编译器生成的证书。
关于整个系列,请参见[Zbl 1173.68002号].

MSC公司:

68N20型 编译与解释理论
68甲18 函数编程和lambda演算
60年第68季度 规范和验证(程序逻辑、模型检查等)
68吨15 定理证明(演绎、解析等)(MSC2010)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Dold,A.,Vialard,V.:Lisp编译器的机械验证编译规范。收录人:Hariharan,R.、Mukund,M.、Vinay,V.(编辑)FSTTCS 2001。LNCS,第2245卷,第144-155页。斯普林格,海德堡(2001)·Zbl 1052.68584号 ·文件编号:10.1007/3-540-45294-X13
[2] Barthe,G.,Grégoire,B.,Kunz,C.,Rezk,T.:优化编译器的证书翻译。收录:Yi,K.(编辑)SAS 2006。LNCS,第4134卷,第301-317页。斯普林格,海德堡(2006)·Zbl 1225.68062号 ·数字对象标识代码:10.1007/11823230_20
[3] Berghofer,S.,Strecker,M.:从证明助手中提取正式验证的完全可执行编译器。In:程序。编译器优化符合编译器验证,COCV 2003。ENTCS,第33-50页(2003年)
[4] Bertot,Y.,Casteran,P.:交互式定理证明和程序开发Coq'Art:归纳构造的微积分。理论计算机科学课文。EATCS系列。斯普林格,海德堡(2004)·doi:10.1007/978-3-662-07964-5
[5] Blazy,S.、Dargaye,Z.、Leroy,X.:C编译器前端的形式验证。收录:Misra,J.、Nipkow,T.、Sekerinski,E.(编辑)FM 2006。LNCS,第4085卷,第460-475页。斯普林格,海德堡(2006)·doi:10.1007/11813040_31
[6] Dave,M.A.:编译器验证:参考书目。SIGSOFT软件工程注释28(6)、2(2003)·doi:10.1145/966221.966235
[7] Hofmann,M.,Jost,S.:一阶函数程序堆空间使用的静态预测。In:程序。第30届ACM交响乐团。《编程语言原理》,POPL 2003,第185-197页。ACM出版社,纽约(2003)·Zbl 1321.68180号
[8] Klein,G.,Nipkow,T.:验证字节码验证程序。理论计算机科学298,583–626(2003)·Zbl 1038.68109号 ·doi:10.1016/S0304-3975(02)00869-1
[9] Klein,G.,Nipkow,T.:类Java语言、虚拟机和编译器的机器检查模型。《美国计算机学会编程语言与系统汇刊》28(4),619–695(2006)·数字对象标识代码:10.1145/1146809.1146811
[10] Leroy,X.:编译器后端的正式认证,或者:使用校对助手对编译器进行编程。摘自:《编程语言原理》,POPL 2006,第42–54页。ACM出版社,纽约(2006)·Zbl 1369.68124号
[11] Leroy,X.:正式验证的编译器后端,2008年7月,第79页(提交日期,2008年)·Zbl 1185.68215号
[12] Li,G.,Owens,S.,Slind,K.:高阶逻辑子集的证明编译器的结构。摘自:De Nicola,R.(编辑)ESOP 2007。LNCS,第4421卷,第205-219页。斯普林格,海德堡(2007)·Zbl 1187.68141号 ·doi:10.1007/978-3-540-71316-6_15
[13] Lindholm,T.,Yellin,F.:《Java虚拟机分离》,第2版。Java系列。Addison-Wesley,雷丁(1999)
[14] Montenegro,M.,Peña,R.,Segura,C.:具有显式去位置的函数语言的资源感知语义和抽象机器。摘自:2008年7月在意大利锡耶纳举行的2008年WFLP功能和(约束)逻辑编程研讨会,第47-61页(2008)(将出现在ENTCS中)·Zbl 1347.68054号
[15] 黑山,M.,佩尼亚,R.,塞古拉,C.:一阶函数语言的简单区域推理算法。摘自:《函数编程趋势》,TFP 2008,奈梅亨(荷兰),2008年5月,第194-208页(2008)
[16] 黑山,M.,佩尼亚,R.,塞古拉,C.:安全记忆管理的类型系统及其正确性证明。在:ACM声明式编程原理与实践,PPDP 2008,西班牙巴伦西亚,2008年7月,第152-162页(2008)·doi:10.1145/1389449.1389468
[17] 黑山,M.,佩尼亚,R.,塞古拉,C.:确保安全销毁的推理算法。包含:LOPSTR 2008。LNCS,第5438卷,第135–151页。斯普林格,海德堡(2009)·Zbl 1185.68200号 ·doi:10.1007/978-3642-00515-2-10
[18] Necula,G.C.:携带证明代码。参见:ACM SIGPLAN-SIGACT编程语言原则,POPL 1997,第106–119页。ACM出版社,纽约(1997)
[19] Necula,G.C.:优化编译器的翻译验证。SIGPLAN通知35(5),83–94(2000)·doi:10.1145/358438.349314
[20] Nipkow,T.、Paulson,L.、Wenzel,M.:伊莎贝尔/霍尔。高阶逻辑的证明助手。LNCS,第2283卷。斯普林格,海德堡(2002)·Zbl 0994.68131号 ·doi:10.1007/3-540-45949-9
[21] Peña,R.,Rupérez,D.:Java虚拟机之上功能虚拟机的认证实现。在:Jornadas sobre Programación y Lenguajes,PROLE 2008,Gijón,西班牙,2008年10月,第131-140页(2008)
[22] 佩尼亚,R.,塞古拉,C.,黑山,M.:国家外汇管理局的共享分析。收录:第七交响曲选集。函数编程趋势,TFP 2006,第109-128页(2007)(Intellect)
[23] Pnueli,A.,Siegel,M.,Singerman,E.:翻译验证。收录:Steffen,B.(编辑)TACAS 1998。LNCS,第1384卷,第151-166页。斯普林格,海德堡(1998)·doi:10.1007/BFb0054170
[24] Sannela,D.,Hofmann,M.:移动资源保障。EU Open FET项目,IST 2001-33149 2001-2005,http://www.dcs.ed.ac.uk/home/mrg
[25] Strecker,M.:Isabelle中Java编译器的形式验证。收录:Voronkov,A.(编辑)CADE 2002。LNCS,第2392卷,第63-77页。斯普林格,海德堡(2002)·Zbl 1072.68593号 ·doi:10.1007/3-5440-45620-1_5
[26] Wildmoser,M.:验证携带证据代码。慕尼黑工业大学信息研究所博士论文(2005年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。