张志海;迪帕克·卡普尔 关于不变量检查。 (英语) Zbl 1310.68147号 J.系统。科学。复杂。 第3期第26期,第470-482页(2013年). 小结:即使对于简单的循环程序,检查给定公式在给定的程序位置(尤其是循环内)是否是不变量也很重要,因为它通常是一个不可判定的属性。如果给定的公式不是归纳回路不变量,情况尤其如此,因为大多数自动化技术只能检查或生成归纳回路不变式。本文在简单回路和公式上确定了自动执行此检查的条件。证明了一个一般定理,给出了公式在循环上的某些限制条件下是不变的充要条件。作为这种分析的副产品,提出了一种新的循环体内部的循环不变量,称为内部-顶部不变量。这种不变量比Floyd-Hoare公理化程序验证方法中通常使用的归纳循环不变量更通用。探讨了此类不变量在程序调试中的使用;结果表明,这种不变量比传统的归纳环路不变量更有用,尤其是当人们对检查极端/边条件感兴趣时,例如下溢、访问范围外的数组/采集数据结构、被零除等。 引用于2文件 MSC公司: 60年第68季度 规范和验证(程序逻辑、模型检查等) 68号30 软件工程的数学方面(规范、验证、度量、需求等) 关键词:Floyd-Hoare逻辑;不变生成;程序验证;程序调试;循环不变式 软件:QEPCAD公司;Daikon公司 PDF格式BibTeX公司 XML格式引用 \textit{Z.Zhang}和\textit{D.Kapur},J.Syst。科学。复杂。26,第3号,470--482(2013;Zbl 1310.68147) 全文: 内政部 参考文献: [1] Cousot P和Cousot R,抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型,第4版POPL,1977年·Zbl 1323.68356号 [2] Floyd,R.W.,《赋予程序意义》,19-37(1967)·Zbl 0189.50204号 [3] Hoare C A R,计算机编程的公理基础,ACM通信,1969,12(10):576-585·Zbl 0179.23105号 ·电话:10.1145/363235.363259 [4] Rodriguez-Carbonell E和Kapur D,使用抽象解释自动生成有界度多项式不变量,计算机程序设计科学,2007,64(1):54-75·Zbl 1171.68555号 ·doi:10.1016/j.scico.2006.03.003 [5] 库索特,P。;Halbwachs,N.,程序变量之间线性约束的自动发现,84-97(1978) [6] MinéA,弱相关数值抽象域,博士论文,埃科尔理工学院,巴黎,法国,2005年。 [7] Rodriguez-Carbonell E和Kapur D,在简单循环中生成所有多项式不变量,符号计算杂志,2007,42:443-476·Zbl 1121.13034号 ·doi:10.1016/j.jsc.2007.01.002 [8] Kapur D,基于量词消除的程序归纳断言自动生成启发式,系统科学与复杂性杂志,2006,19(3):307-330·Zbl 1115.68051号 ·doi:10.1007/s11424-006-0307-x [9] Bradley,A.R。;Manna,Z.,《加强验证约束问题》,35-49(2006)·兹比尔1168.68421 [10] 陈,Y。;夏,B。;Yang,L。;Zhan,N.,用DISCOVER和QEPCAD生成多项式不变量,67-82(2007)·Zbl 1151.68366号 ·doi:10.1007/978-3-540-75221-94 [11] 科隆,M。;桑卡拉纳拉亚南,S。;Sipma,H.B.,使用非线性约束求解的线性不变量生成,420-432(2003)·Zbl 1278.68164号 [12] 桑卡拉纳拉亚南,S。;Sipma,H.B。;Manna,Z.,使用Gréobner基的非线性循环不变量生成,318-329(2004)·Zbl 1325.68071号 [13] 夏,B。;Yang,L。;Zhan,N.,通过简化为半代数系统求解的程序验证,277-291(2008) [14] Ernst M D、Perkins J H、Guo P J、McCamant S、Pacheco C、Tschantz M S和Xiao C,可能不变量动态检测的Daikon系统,计算机编程科学,2007,69(1-3):35-45·Zbl 1161.68390号 ·doi:10.1016/j.scico.2007.01.015 [15] Loeckx J和Sieber K,《程序验证基础》,John Wiley&Sons Ltd.和B.G.Teubner,1984年·Zbl 0625.68017号 [16] Chen Y,Xia B,Yang L,Zhan N,Zhou C,通过求解半代数系统发现非线性排序函数,Jones C B,Liu Z,Woodcock J编辑,计算机科学讲义,4711,Springer,2007,34-49·Zbl 1147.68442号 [17] Podelski A和Rybalchenko A,线性排序函数综合的完整方法,VMCAI 2004:验证、模型检查和抽象解释,计算机科学讲义,2937,Springer,2004,239-251·Zbl 1202.68109号 ·数字对象标识代码:10.1007/978-3-540-24622-0_20 [18] Tiwari A,线性程序的终止,CAV:计算机辅助验证国际会议,2004年·Zbl 1103.68037号 [19] 吴,B。;沈,L。;Bi,Z。;Zeng,Z.,一类带多项式保护的程序的终止,274-277(2009) [20] 夏,B。;Yang,L。;詹,N。;Zhang,Z.,终止线性规划的符号决策程序(2009) [21] Kapur,D.,Wu关于定理证明的观点及其在程序分析中的最新应用(2009) [22] Cousot P,通过参数抽象、拉格朗日松弛和半定规划证明程序的不变性和终止性。VMCAI 2005:验证、模型检查和抽象解释,计算机科学讲义,3385,施普林格,2005·Zbl 1111.68503号 [23] Brown C W和QEPCAD B,使用CAD计算半代数集的程序,ACM SIGSAM Bulletin,2003,37(4):97-108·Zbl 1083.68148号 ·数字对象标识代码:10.1145/968708.968710 [24] Bradley A R和Manna Z,属性定向增量不变量生成。计算的形式方面,2008,20(4-5):379-405·Zbl 1149.68402号 ·doi:10.1007/s00165-008-0080-9 此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。