×

程序逻辑演算中的谓词抽象。 (英语) Zbl 1221.68066号

摘要:谓词抽象是一种抽象解释形式,其中抽象域是由程序变量上的有限谓词集构造的。本文探讨了一种将谓词抽象集成到演算中的方法,用于基于符号执行的演绎程序验证,它允许我们自动推断循环不变量,否则必须交互给出循环不变量。该方法已作为KeY验证系统的一部分实施。

MSC公司:

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

参考文献:

[1] 恩斯特,医学博士。;科克雷尔,J。;Griswold,W.G。;Notkin,D.:动态发现可能的程序不变量以支持程序进化,IEEE软件工程事务27,第2期,99-123(2001)
[2] 库索特,P。;Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型,238-252(1977)
[3] 格拉芙,S。;Saídi,H.:用PVS构造抽象状态图,Lncs 1254,72-83(1997)
[4] 库索特,P。;库索特,R.:比较伽罗瓦联系和扩大/缩小抽象解释方法,Lncs 631,269-295(1992)·Zbl 0776.68024号
[5] 弗拉纳根,C。;Qadeer,S.:软件验证的谓词抽象,191-202(2002)·Zbl 1323.68371号
[6] 克拉克,E.M。;格伦伯格,O。;Jha,S。;卢,Y。;Veith,H.:反例引导的抽象求精,Lncs 1855,154-169(2000)·Zbl 0974.68517号
[7] Weiß,B.:程序逻辑演算中的谓词抽象,Lncs 5423,136-150(2009)·Zbl 1211.68257号 ·doi:10.1007/978-3642-00255-7_10
[8] P.H.Schmitt,B.Weiß,通过符号执行推断不变量,收录于:B.Beckert(编辑),《第四届国际验证研讨会论文集》,VERIFY’07,收录在:CEUR研讨会论文集,第259卷,CEUR-WS.org,2007年,第195-210页。
[9] 巴内特,M。;Chang,B.-Y.E。;Deline,R。;雅各布斯,B。;Leino,K.R.M.:Boogie:面向对象程序的模块化可重用验证器,Lncs 4111,364-387(2006)
[10] Leino,K.R.M。;Logozzo,F.:按需循环不变量,Lncs 3780,119-134(2005)·兹比尔1159.68374 ·doi:10.1007/111575467
[11] K.R.M.Leino,F.Logozzo,《使用加宽来推断SMT解算器内的循环不变量,或:定理证明器作为抽象域》,收录于:《第一届不变量生成国际研讨会论文集》,WING,2007年,2007年。
[12] Tiwari,A。;Gulwani,S.:《逻辑解释:使用定理证明的静态程序分析》,Lncs 4603147-166(2007)·Zbl 1213.68210号 ·doi:10.1007/978-3-540-73595-3_11
[13] Harel,D。;Kozen,D。;Tiuryn,J.:动态逻辑(2000)·Zbl 0976.68108号
[14] Hoare,C.A.R.:《计算机编程的公理基础》,《ACM通信12》,第10期,576-580页(1969年)·Zbl 0179.23105号 ·doi:10.1145/363235.363259
[15] Balser,M。;赖夫·W·。;谢尔霍恩,G。;斯坦泽尔,K。;Thums,A.:KIV正式系统开发,Lncs 1783,363-366(2000)
[16] ,Lncs 4334(2007)
[17] Ahrendt,W。;贝克特,B。;Hähnle,R。;吕默,P。;Schmitt,P.H.:《用密钥验证面向对象程序:教程》,Lncs 4709,70-101(2008)
[18] 贝克特,B。;Platzer,A.:《具有非刚性函数的动态逻辑:面向对象程序验证的基础》,Lncs 4130,266-280(2006)·Zbl 1222.03030号 ·数字对象标识代码:10.1007/11814771_23
[19] Rümmer,P.:一阶结构的顺序、并行和量化更新,Lncs 4246、422-436(2006)·Zbl 1165.68376号 ·doi:10.1007/11916277_29
[20] King,J.C.:《符号执行和程序测试》,《ACM通信》第19卷第7期,第385-394页(1976年)·Zbl 0329.68018号 ·doi:10.1145/360248.360252
[21] 达斯,S。;Dill,D.L。;Park,S.:谓词抽象的经验,Lncs 1633,160-171(1999)·Zbl 1046.68589号
[22] Detlefs,D。;Nelson,G。;Saxe,J.B.:《简化:程序检查的定理证明器》,《ACM杂志》52,第3期,365-473(2005)·Zbl 1323.68462号
[23] Beyer博士。;Henzinger,T.A。;贾拉(Jhala,R.)。;Majumdar,R.:使用blast检查内存安全,Lncs 3442,2-18(2005)·Zbl 1104.68408号
[24] Leavens,G.T。;贝克,A.L。;Ruby,C.:JML的初步设计:Java的行为接口规范语言,ACM SIGSOFT软件工程注释31,第3号,1-38(2006)
[25] W.Mostowski,《完全验证的Java卡API参考实现》,收录于:B.Beckert(Ed.),《第四届国际验证研讨会论文集》,VERIFY’07,收录在:CEUR研讨会论文集,第259卷,CEUR-WS.org,2007年,第136–151页。
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。