×

for-lops不变量的机械推断。 (英语) Zbl 1208.68147号

摘要:在包含循环的程序的机械验证中,通常需要以前置和后置条件的形式在规范之外提供循环不变量。本文提出了一种对实际相关的for-lops类不变量进行机械推断的方法。不变量仅来自规范(前、后)和循环的最终边界。该方法基于“用变量替换post中的常量”技术,该技术传统上被手动用于WHILE loops的开发。我们的方法是这种启发式的完全机械化,用于验证现有的带注释for-lops。通过一种称为“边界变换”的技术,并通过考虑前置和后置的公共不变连接词,进一步扩展了该方法的适用范围。因此,该方法适用于实践中发生的大多数FOR-loop。
将此方法并入自动程序验证器将使软件工程师的任务更容易,因为他只需为for-loop提供前后规范。

MSC公司:

60年第68季度 规范和验证(程序逻辑、模型检查等)

软件:

凯伊;布吉
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Ahrendt,W。;Baar,T。;Beckert,B.,关键工具,软件系统。模型,432-54(2005)
[2] Back,R.-J.,基于不变量的编程,(LNCS,第4024卷(2006),Springer:Springer Berlin),1-18
[4] Barnes,J.,《高度诚信Ada——SPARK方法》(2000年),Addison Wesley:Addison Wesley Harlow等·Zbl 0884.68017号
[5] 巴内特,M。;Chang,B.-Y.E。;DeLine,R.,Boogie:面向对象程序的模块化可重用验证器,(LNCS,vol.4111(2006),Springer:Springer Berlin),364-387
[6] Basu,S.K.,归纳断言综合的一个注记,IEEE TSE,6,1,32-39(1980)·Zbl 0431.68014号
[7] Caplain,M.,《寻找证明程序的不变断言》,SIGPLAN Not。,10, 6, 165-171 (1975)
[8] 柯林斯,W.J.,FOR-lop不变量的问题,ACM SIGCSE Bull。,20, 1, 1-4 (1988)
[9] Dijkstra,E.W.,《程序设计学科》(1976年),普伦蒂斯·霍尔公司:普伦蒂斯霍尔公司Englewood Cliffs·Zbl 0286.00013号
[10] Dijkstra,E.W。;Scholten,C.S.,谓词演算和程序语义(1990),Springer:Springer New York等·Zbl 0698.68011号
[11] 邓洛普,D.D。;Basili,V.R.,《推导循环函数的启发式方法》,IEEE TSE,10,3,275-285(1984)·Zbl 0536.68003号
[12] Ellozy,H.A.,数组程序循环不变量的确定,IEEE TSE,7,2,197-206(1981)·Zbl 0463.68016号
[13] Engeln-Mullges,G。;Reutter,F.(数字算法mit FORTRAN 77程序)。数字算法mit FORTRAN 77程序。(Fortran 77程序的数值算法),Aufl。,第7卷(1993),BI Wissenschaftsverlag:BI Wisenschaftsverlag Mannheim usw),英文版1996,ISBN 3-540-60529-0·Zbl 0787.65001号
[17] Floyd,R.W.,《赋予程序意义》(Schwartz,J.T.,《计算机科学的数学方面》(1967),AMS),第19-32页·Zbl 0189.50204号
[18] 弗赖宁,C。;考尔,S。;Winkler,J.F.H.,Ein Vergleich der Programmbeweiser FPP,NPPV and SPARK。(项目验证人FPP、NPPV和SPARK的比较),(Ada-Deutschland Tagung 2002(2002),Shaker Verlag:Shaker Verlag Aachen),127-145
[20] Golub,G.H。;Loan,C.F.van,《矩阵计算》(1990),约翰·霍普金斯大学出版社:约翰·霍普金森大学出版社巴尔的摩出版社等,第二出版社
[21] Gonnet,G.H。;Baeza Yates,R.,《算法和数据结构手册》(1991),艾迪森·韦斯利:艾迪森·韦斯利·沃金厄姆·Zbl 0719.68001号
[22] Gries,D.,关于开发循环不变量和循环的标准策略的注释,科学。计算。程序。,207-214年2月(1982年)·Zbl 0516.68008号
[23] Gries,D.,《编程科学》(1983),Springer:Springer New York,Second pr
[24] Gumm,H.,从命令式程序生成代数定律,定理。计算。科学。,217, 385-405 (1999) ·Zbl 0914.68132号
[26] Hoare,C.A.R.,《计算机编程的公理基础》,CACM,12,10,576-580(1969),583·Zbl 0179.23105号
[27] Hoare,C.A.R.,关于FOR语句的注释,BIT,12,334-341(1972)·Zbl 0246.68003号
[30] Katz,S。;Manna,Z.,程序的逻辑分析,CACM,19,4188-206(1976)·Zbl 0353.68016号
[40] Mili,A。;Desharnais,J。;Gagné,J.-R.,《最强不变函数:它们在while-statements系统分析中的应用》,《信息学报》。,22, 1, 47-66 (1985) ·Zbl 0546.68011号
[41] Misra,J.,《回路计算验证的某些方面》,IEEE TSE,4,6,478-486(1978)·Zbl 0392.68011号
[42] 莫里斯,J.H。;Wegbreit,B.,亚目标诱导,CACM,20,4,209-222(1977)·Zbl 0349.68007号
[44] Paige,R.,用不变量编程,IEEE软件,3,1,56-69(1986)
[45] 罗德里格斯-卡博内尔,E。;Kapur,D.,使用抽象解释自动生成有界度多项式不变量,科学。计算。程序。,64,1,54-75(2006),2006年9月28日在线获取,网址:www.sciencedirect.com/,访问时间:2007年。1月22日·Zbl 1171.68555号
[48] Tamir,M.,ADI:不变量的自动推导,IEEE TSE,6,1,40-48(1980)·Zbl 0431.68015号
[49] 图灵,A.,《检查大型程序》(Williams,L.R.;Campbell-Kelly,M.,《早期英国计算机会议》(1949),麻省理工学院出版社:麻省理学院出版社剑桥),70-721989年
[50] Wegbreit,B.,《循环谓词的合成》,CACM,17,2,102-112(1974)·Zbl 0273.68014号
[51] Winkler,J.F.H.,(弗雷格计划验证人,第42页。弗雷格程序验证程序。42,国际威斯康星州。科尔。,伊勒梅瑙。,第1卷(1997)),116-121
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。