×

关于不变量检查。 (英语) Zbl 1310.68147号

小结:即使对于简单的循环程序,检查给定公式在给定的程序位置(尤其是循环内)是否是不变量也很重要,因为它通常是一个不可判定的属性。如果给定的公式不是归纳回路不变量,情况尤其如此,因为大多数自动化技术只能检查或生成归纳回路不变式。本文在简单回路和公式上确定了自动执行此检查的条件。证明了一个一般定理,给出了公式在循环上的某些限制条件下是不变的充要条件。作为这种分析的副产品,提出了一种新的循环体内部的循环不变量,称为内部-顶部不变量。这种不变量比Floyd-Hoare公理化程序验证方法中通常使用的归纳循环不变量更通用。探讨了此类不变量在程序调试中的使用;结果表明,这种不变量比传统的归纳环路不变量更有用,尤其是当人们对检查极端/边条件感兴趣时,例如下溢、访问范围外的数组/采集数据结构、被零除等。

MSC公司:

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

参考文献:

[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的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。