×

高完整性软件验证的集成方法。 (英语) Zbl 1107.68032号

摘要:使用自动推理技术,我们解决了证明程序没有运行时异常的利基活动。这种属性在高完整性软件中尤其重要,例如,安全或安全关键型应用程序。我们的工作背景是开发高完整性软件的SPARK方法。SPARK方法在证明异常自由方面提供了很大程度的自动化。然而,如果这种自动化失败,程序员就要承担交互式构造证明的任务,并且可能还必须提供辅助程序注释。我们通过集成验证规划和程序分析预言机,提高自动化程度,从而将此负担降至最低。我们提倡一种“合作”集成,在这种集成中,验证失败分析直接限制了对辅助程序注释的搜索。该方法已在工业数据上成功测试。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
第68季度第60季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Ball,T.,Rajamani,S.:SLAM项目:通过静态分析调试系统软件。收录于:POPL'02会议记录:第29届ACM SIGPLAN-SIGACT编程语言原理研讨会,第1-3页。俄勒冈州波特兰市(2002)
[2] Barnes,J.:《高完整性软件:SPARK安全与保障方法》。Addison-Wesley,马萨诸塞州波士顿(2003)
[3] Basin,D.,Walsh,T.:涟漪的演算和终止。J.汽车。原因。16(1–2), 147–180 (1996) ·Zbl 0847.68105号 ·doi:10.1007/BF00244462
[4] Baudin,P.,Pacalet,A.,Raguideau,J.,Schoen,D.,Williams,N.:CAVEAT:软件验证工具。参加:可靠系统和网络国际会议(DSN02)。IEEE计算机学会(2002)
[5] Bergeretti,J.-F.,Carré,B.A.:while-programs的信息流和数据流分析。ACM事务处理。程序。语言系统。(托普拉斯)7(1),37–61(1985)·Zbl 0559.68014号 ·doi:10.1145/2363.2366
[6] Fischer,B.,Schumann,J.:汽车人:从统计模型生成数据分析程序的系统。J.功能。程序。13(3), 483–508 (2003) ·Zbl 1037.68044号 ·doi:10.1017/S095679680204562
[7] Boyer,R.S.,Moore,JS.:计算逻辑手册。计算机透视,第23卷。马萨诸塞州波士顿学术出版社(1988年)·Zbl 0655.68117号
[8] 邦迪:使用明确的计划来指导归纳证明。摘自:Lusk,R.,Overbeek,R.(编辑)第九届自动扣减国际会议,第111-120页(1988年)。爱丁堡DAI第349号研究论文提供了更长的版本
[9] Bundy,A.,Basin,D.,Hutter,D.,Ireland,A.:Rippling:数学推理的元层次指导。剑桥大学出版社,英国剑桥(2005)·Zbl 1095.68108号
[10] Bundy,A.,Smaill,A.,Hesketh,J.:将Eureka步骤转化为自动程序合成中的计算。收件人:Clarke,S.L.(编辑)Proc。英国信息技术90,第221–226页(1990a)。爱丁堡DAI研究论文448
[11] Bundy,A.,Stevens,A.,van Harmelen,F.,Ireland,A.,Smaill,A.:Rippling:引导归纳证明的启发式。人工智能62185-253(1993)。爱丁堡DAI第567号研究论文·Zbl 0789.68121号 ·doi:10.1016/0004-3702(93)90079-Q
[12] Bundy,A.,van Harmelen,F.,Hesketh,J.,Smaill,A.:归纳法的验证计划实验。J.汽车。原因。7, 303–324 (1991). 爱丁堡DAI研究论文413号早期版本·Zbl 0733.68069号 ·doi:10.1007/BF00249016
[13] Bundy,A.,van Harmelen,F.,Horn,C.,Smaill,A.:牡蛎-蛤蜊系统。摘自:Stickel,M.E.(编辑),第十届自动演绎国际会议,《人工智能讲稿》第449卷,第647-648页。斯普林格(1990)。也可从爱丁堡获得,作为DAI研究论文507
[14] Caplain,M.:寻找用于证明程序的不变断言。摘自:可靠软件国际会议论文集。加利福尼亚州洛杉矶市(1975年)
[15] Chapman,R.,Amey,P.:工业实力例外自由。In:程序。ACM SigAda(2002)
[16] 库索,P.,库索,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。纳入:POPL-4(1977a)·兹比尔1149.68389
[17] 库索,P.,库索,R.:最佳不变断言的自动合成:数学基础。摘自:ACM人工智能与编程语言研讨会,第1-12页(1977b)·Zbl 0586.68019号
[18] Cowan,C.,Wagle,P.,Pu,C.,Beattie,S.,Walpole,J.:缓冲区溢出:十年脆弱性的攻击和防御。参加:DARPA信息生存能力会议和博览会(DISCEX)(2000年)
[19] Ellis,B.,Ireland,A.:例外自由证明的自动化。摘自:第18届IEEE自动化软件工程国际会议论文集,第343–346页。IEEE计算机学会(2003)。也可从Heriot-Watt大学数学与计算机科学学院获取,作为技术报告HW-MACS-TR-0010
[20] Ellis,B.,Ireland,A.:程序分析和自动定理证明的集成。收录于:Boiten,E.、Derrick,J.、Smith,G.(编辑)《第四届综合形式方法国际会议论文集》(IFM-04),计算机科学讲稿第2999卷,第67-86页(2004)。也可从Heriot-Watt大学数学与计算机科学学院获取,作为技术报告HW-MACS-TR-0014
[21] Elspa,D.,Green,M.,Levitt,K.,Waldinger,R.:交互式程序提供技术研究。地址:加利福尼亚州门罗公园SRI(1972年)·Zbl 0266.68010号
[22] 欧空局:阿丽亚娜5号——501航班故障。欧洲航天局调查委员会报告(1996年)
[23] Filliátre,J.-C.,S.Owre,H.Rueß,and N.Shankar:ICS:集成规范化器和求解器。In:程序。CAV 2001(2001)·Zbl 0996.68559号
[24] Flanagan,C.,Leino,K.R.M.:胡迪尼,ESC/Java的注释助理。In:FME 2001(2001)会议记录·Zbl 0977.68671号
[25] Flanagan,C.,Leino,K.R.M.,Lillibridge,M.,Nelson,G.,Saxe,J.,Stata,R.:Java的扩展静态检查。摘自:PLDI论文集(2002)
[26] 弗洛伊德·R.W.:为程序赋予意义。收录于:Schwartz,J.T.(编辑)《计算机科学的数学方面》,《应用数学专题讨论会论文集》19,第19-32页。美国数学学会,罗德岛州普罗维登斯(1967)·Zbl 0189.50204号
[27] German,S.:自动证明没有常见运行时错误。收录:第五届ACM SIGACT-SIGPLAN编程语言原理会议记录(1978年)
[28] 霍尔:计算机编程的公理基础。Commun公司。ACM 12,576–583(1969)·Zbl 0179.23105号 ·doi:10.1145/363235.363259
[29] 爱尔兰:在机械化归纳证明中使用计划评论家。摘自:Voronkov,A.(编辑)《逻辑编程和自动推理国际会议》(LPAR’92),第178-189页。圣彼得堡(1992)。爱丁堡DAI研究论文592
[30] Ireland,A.,Bundy,A.:归纳证明中失败的有效运用。J.汽车。原因。16(1–2), 79–111 (1996). 另见爱丁堡人工智能部DAI研究论文第716号·Zbl 0847.68103号 ·doi:10.1007/BF00244460
[31] Ireland,A.,Bundy,A.:使用累积参数自动验证功能。J.功能。程序:定理证明与函数编程专题9(2),225-245(1999)。更长版本可从赫里奥特-沃特大学计算与电气工程系获得,研究备忘录RM/97/11·Zbl 0940.68023号
[32] Ireland,A.,Ellis,B.,Cook,A.,Chapman,R.,Barnes,J.:《高完整性软件开发的集成方法》(2006)。可从Heriot-Watt大学数学与计算机科学学院获取,作为技术报告HW-MACS-TR-0027
[33] Ireland,A.,Ellis,B.,Ingulfsen,T.:程序推理的不变模式。收录于:Monroy,R.、Arroyo-Figueroa,G.、Sucar,L.、Sossa,H.(编辑)《第三届墨西哥人工智能国际会议论文集》(MICAI-04),《人工智能讲稿》第2972卷,第190-201页(2004)。也可从Heriot-Watt大学数学与计算机科学学院获取,作为技术报告HW-MACS-TR-0011
[34] Ireland,A.,Stark,J.:关于循环不变量的自动发现。收录:第四届NASA兰利正式方法研讨会会议记录——NASA会议出版物3356(1997)。也可从赫里奥特-瓦特大学计算与电气工程系获得,研究备忘录RM/97/1
[35] 爱尔兰,A.,斯塔克,J.:战略发展的验证规划。安。数学。和Artif。智力。29(1–4), 65–97 (2001). 早期版本的研究备忘录RM/00/3,Heriot-Watt大学计算与电气工程系·Zbl 1001.68126号 ·doi:10.1023/A:1018969728171
[36] Ireland,A.,Stark,J.:将证明计划与部分顺序计划相结合,用于命令式程序合成。J.汽车。柔和。《工程》13(1),65–105(2005)。早期版本可从Heriot-Watt大学数学与计算机科学学院获得,技术报告HW-MACS-TR-0026·doi:10.1007/s10515-006-5467-3
[37] ISO:Ada编程语言参考手册。ISO/IEC 8652,国际标准组织(1995)
[38] Janićić,P.,Bundy,A.:灵活组合和增强决策程序的一般设置。J.汽车。原因。28(3), 257–305 (2002) ·兹比尔1003.03012 ·doi:10.1023/A:1015707001763
[39] Katz,S.,Manna,Z.:程序的逻辑分析。Commun公司。ACM 19(4),188-206(1976)·Zbl 0353.68016号 ·doi:10.1145/360032.360048
[40] 金·S·、哈蒙德·J·、查普曼·R·、普赖尔·A·:证明比测试更具成本效益吗?IEEE传输。SE 26(8),675–686(2000)
[41] Kraan,I.,Basin,D.,Bundy,A.:逻辑程序综合的中间推理。摘自:Warren,D.S.(编辑)《第十届逻辑编程国际会议论文集》(1993年)。也可作为Max-Planck-Institut für Informatik Report MPI-I-93-214和Edinburgh DAI Research Report 638获得·Zbl 0847.68104号
[42] 国防部:防御设备的计算机和可编程电子系统元件的危险分析和安全分类。临时国防标准00-56,第1版,英国格拉斯哥G2 8EX布朗街65号肯蒂根大厦标准化局国防部(1991a)
[43] 国防部:国防装备安全关键软件的采购(第1部分:要求,第2部分:指南)。临时国防标准00-55,第1版,英国格拉斯哥G2 8EX布朗街65号肯蒂根大厦标准化局国防部(1991b)
[44] Monroy,R.,Bundy,A.,Ireland,A.:纠正错误猜测的证明计划。摘自:Pfenning,F.(ed.)第五届逻辑编程和自动推理国际会议,LPAR’94,第54–68页。乌克兰基辅(1994年)。爱丁堡DAI研究论文681
[45] (NCSP),N.C.S.P.:提高整个软件开发生命周期的安全性。http://www.cyberpartnership.org (2004)
[46] Nielson,F.,Nielson,H.,Hankin,C.:程序分析原理。纽约施普林格出版社(1999年)·Zbl 0932.68013号
[47] 多空间、多空间技术。http://www.polyspace.com网站/
[48] PURRS,PURRS:帕尔马大学的递归关系求解器。网址:http://www.cs.unipr.it/purrs/
[49] Seo,S.,Yang,H.,Yi,K.:从抽象解释结果中自动构建灰白色证明。收录于:Ohori,A.(编辑)《编程语言与系统》,第一届亚洲研讨会,2003年11月27日至29日,中国北京,APLAS 2003,《计算机科学讲稿》第2895卷,第230-245页(2003)·Zbl 1254.68088号
[50] Stark,J.,Ireland,A.:通过失败的证明尝试实现不变性发现。摘自:Flener,P.(ed.)《基于逻辑的程序合成与转换》,计算机科学课堂讲稿第1559卷,第271-288页。斯普林格(1998)。早期版本可从柏林赫里奥特·沃特大学计算与电气工程系获得,研究备忘录RM/98/2
[51] Visser,E.:Stratego:基于重写策略的程序转换语言。Stratego 0.5的系统描述。In:重写技术与应用(RTA)(2001)·Zbl 0981.68679号
[52] Whiting,L.,Hill,M.:飞鹰监控器的安全分析。参加:软件工具和工程程序分析研讨会(1999年)
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。