×

递归程序的基于SMT的模型检查。 (英语) Zbl 1358.68072号

摘要:我们提出了一种基于SMT的符号模型检查算法,用于递归程序的安全验证。该算法是模块化的,并单独分析程序。与其他基于SMT的方法不同,它同时保持了超过-近似不足程序总结。欠近似用于分析没有内联的过程调用。过逼近用于阻止不可行反例并检测收敛到证明。我们证明,对于可判定理论上的程序和属性,如果存在反例,则该算法可以保证找到反例。然而,效率取决于量词消除(QE)的预言。对于布尔程序,该算法是一个多项式决策过程,与基于BDD的最佳算法的最坏情况边界相匹配。对于线性算术(整数和有理数),我们通过应用QE给出了算法的一个有效实例懒洋洋地.我们使用现有的插值技术来过逼近QE,并引入基于模型的投影到不太接近的QE。对SV-COMP基准测试的实证评估表明,我们的算法在最新技术上有显著改进。

MSC公司:

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

参考文献:

[1] Ball T,Rajamani SK(2000)Bebop:布尔程序的符号模型检查器。输入:SPIN,第113-130页·Zbl 0976.68540号
[2] Ball T,Majumdar R,Millstein T,Rajamani SK(2001)C程序的自动谓词抽象。SIGPLAN非36(5):203-213·数字对象标识代码:10.1145/381694.378846
[3] Clarke EM、Kroening D、Lerda F(2004)《检查ANSI-C程序的工具》。输入:TACAS·Zbl 1126.68470号
[4] Barnett M,Chang B-YE,DeLine R,Jacobs B,Leino KRM(2005)Boogie:面向对象程序的模块化可重用验证器。收件人:FMCO,第364-387页
[5] Albarghouthi A,Gurfinkel A,Chechik M(2012)从欠近似到过近似再到反近似。输入:TACAS·Zbl 1352.68140号
[6] Grebenshchikov S、Lopes NP、Popeea C、Rybalchenko A(2012)《从证明规则合成软件验证器》。包含:PLDI,第405-416页
[7] Clarke EM(1979)编程语言构造,对于它,不可能获得好的Hoare公理系统。JACM 26(1):129-147·Zbl 0388.68008号 ·doi:10.1145/322108.322121
[8] Reps TW、Horwitz S、Sagiv S(1995)通过图形可达性进行精确的过程间数据流分析。收录:POPL,第49-61页·Zbl 1496.68079号
[9] Clarke EM(1979)将不变量编程为不动点。计算21(4):273-294·Zbl 0399.68022号 ·doi:10.1007/BF02248730
[10] Sharir M,Pnueli A(1981)《程序流分析:理论与应用》。In:两种过程间数据流分析方法。普伦蒂斯·霍尔,第189-233页·Zbl 0468.68002号
[11] Alur R、Benedikt M、Etessami K、Godefroid P、Reps T、Yannakakis M(2005)递归状态机分析。托普拉斯27(4):786-818·数字对象标识代码:10.1145/1075382.1075387
[12] Esparza J,Hansel D,Rossmanith P,Schwoon S(2000)模型检查下推系统的高效算法。包含:CAV,第232-247页·Zbl 0974.68116号
[13] Clarke EM,Grumberg O,Jha S,Lu Y,Veith H(2000)反例引导的抽象精化。输入:CAV·Zbl 0974.68517号
[14] Albarghouthi A、Gurfinkel A、Chechik M(2012)《鲸鱼:基于插值的过程间验证算法》。在:VMCAI,第39-55页·Zbl 1325.68137号
[15] Hoder K,Björner N(2012)广义属性导向可达性。输入:SAT·Zbl 1273.68229号
[16] 海兹曼,M。;基督,J。;Dietsch,D。;Ermis,E。;Hoenicke,J。;林登曼,M。;Nutz,A。;席林,C。;Podelski,A。;Piterman,N.(编辑);Smolka,SA(编辑),《使用SMTInterpol的Ultimate automizer(竞争贡献)》,第7795、641-643号(2013年),海德堡
[17] Heizmann M,Hoenicke J,Podelski A(2010)嵌套插值。SIGPLAN非45(1):471-482 1·Zbl 1312.68059号 ·数字对象标识代码:10.1145/17078011.706353
[18] McMillan KL,Rybalchenko A(2013)使用插值求解约束horn子句。技术报告MSR-TR-2013-6,微软研究
[19] Biere A、Cimatti A、Clarke EM、Strichman O、Zhu Y(2003)有界模型检验。高级计算58:117-148·doi:10.1016/S0065-2458(03)58003-2
[20] Craig W(1957)Herbrand-Gentzen定理在关联模型理论和证明理论中的三个应用。符号逻辑22(3):269-285·Zbl 0079.24502号 ·doi:10.2307/2963594
[21] Alur R、Benedikt M、Etessami K、Godefroid P、Reps T、Yannakakis M(2005)递归状态机分析。ACM Trans程序语言系统27(4):786-818·数字对象标识代码:10.1145/1075382.1075387
[22] Bradley AR(2011)基于SAT的模型检查,无需展开。输入:VMCAI·Zbl 1317.68109号
[23] Loos R,Weispfenning V(1993)应用线性量词消去法。计算36(5):450-462·Zbl 0787.03021号 ·doi:10.1093/comjnl/36.5.450
[24] 库珀DC(1972)不用乘法进行算术证明的定理。马赫数Intel 7(91--100):300·Zbl 0258.68046号
[25] Nieuwenhuis R、Oliveras A、Tinelli C(2006)《求解SAT和SAT模理论:从抽象的Davis-Putnam-Logemann-Loveland过程到DPLL(T)》。美国医学会杂志53(6):937-977·Zbl 1326.68164号 ·数字对象标识代码:10.1145/1217856.1217859
[26] De Moura L,Björner N(2008)Z3:一种高效的SMT求解器。输入:TACAS·Zbl 0388.68008号
[27] Ganai MK,Gupta A,Ashar P(2004)使用电路协同分解的基于SAT的有效无界符号模型检查。摘自:ICCAD,第510-517页
[28] Nipkow T(2010)线性量词消除。《汽车杂志》理由45(2):189-212·Zbl 1207.68339号 ·doi:10.1007/s10817-010-9183-0
[29] Albarghouthi A、Gurfinkel A、Li Y、Chaki S、Chechik M(2013)UFO:用插值和抽象解释进行验证-(竞争贡献)。输入:TACAS
[30] 软件验证竞赛。TACAS,2014年。网址:http://sv-comp.sosy-lab.org ·Zbl 1207.68339号
[31] Komuravelli A、Gurfinkel A、Chaki S、Clarke EM(2013)基于SMT的无界软件模型检查中的自动抽象。包含:CAV,第846-862页
[32] Henzinger TA、Jhala R、Majumdar R、Sutre G(2002)《惰性抽象》。摘自:POPL会议记录,第58-70页·Zbl 1323.68374号
[33] Chaki S、Clarke EM、Groce A、Jha S、Veith H(2004)《C.IEEE Trans-Softw Eng中软件组件的模块化验证》30(6):388-402·doi:10.1109/TSE.2004.22
[34] Godefroid P、Nori AV、Rajamani SK、Tetali S(2010)《合成可能必须的节目分析:释放交替的力量》。收录:POPL,第43-56页·兹比尔1312.68057
[35] Lal,A。;卡迪尔,S。;拉希里,斯洛伐克;Madhusudan,P.(编辑);Seshia,SA(编辑),可达模理论求解器,第7358、427-443号(2012),海德堡
[36] Gupta A,Ganai MK,Yang Z,Ashar P(2003)使用基于SAT的BMC进行迭代抽象,并进行证明分析。In:ICCAD,第416-423页·Zbl 0787.03021号
[37] McMillan KL,Amla N(2003)《无反例的自动抽象》。输入:TACAS·Zbl 1031.68520号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。