×

用于检查归纳不变量的有界量词实例化。 (英语) Zbl 1452.68119号

Legay,Axel(编辑)等人,《系统构建和分析的工具和算法》。2017年4月22日至29日在瑞典乌普萨拉举行的第23届国际会议(TACAS 2017),是欧洲软件理论与实践联合会议(ETAPS 2017)的一部分。诉讼程序。第一部分柏林:施普林格。莱克特。注释计算。科学。10205, 76-95 (2017).
摘要:我们考虑了用量词交替的一阶逻辑表示的拟议不变量(varphi)是否是归纳的,即是否由一段代码保存的问题。虽然这个问题无法确定,但现代SMT解决程序有时可以自动解决它。然而,它们使用了强大的量词实例化方法,这些方法可能会出现分歧,尤其是在没有保留\(\varphi\)的情况下。由于反例的规模是无限的,因此出现了一个显著的困难。
本文研究了有界水平实例化,这是一种保证SMT解算器终止的自然方法。该方法限定了量词实例化过程中使用的术语的深度。我们表明,这种方法在检查未解释域中的量化不变量方面出奇地强大。此外,通过生成部分模型,它可以帮助用户诊断\(\varphi\)不是归纳的情况,特别是当潜在原因是存在无限反例时。
我们的主要技术结果是,有界水平至少与插装一样强大,插装是一种手动方法,通过修改程序来保证解算器的收敛,从而使其允许一个纯粹的通用不变量。我们表明,如果界限为1,就可以模拟一类自然的工具,而无需修改代码,并且可以以全自动的方式进行。我们还报告了Z3顶部的一个原型实现,我们用它验证了绑定1的边界水平的几个示例。
关于整个系列,请参见[Zbl 1360.68015号].

MSC公司:

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

参考文献:

[1] 扩展版本。http://www.cs.tau.ac.il/research/yotam.feldman/papers/tacas17/tacas17 _ extended.pdf
[2] 完整代码材料。http://www.cs.tau.ac.il/research/yotam.feldman/papers/tacas17/examples_code.zip
[3] Abdulla,P.,Haziza,F.,Holík,L.:通过视图抽象进行参数化验证。国际期刊软件。技术工具。Transf公司。1-22 (2015). http://dx.doi.org/10.1007/s10009-015-0406-x ·Zbl 1429.68137号 ·doi:10.1007/s10009-015-0406-x
[4] 阿卜杜拉,P.A.,哈齐扎,F.,霍利克,L.:所有这些都是为了少数人的代价。In:Giacobazzi,R.,Berdine,J.,Mastroeni,I.(编辑)VMCAI 2013。LNCS,第7737卷,第476-495页。施普林格,海德堡(2013)。doi:10.1007/978-3642-35873-9_28·Zbl 1426.68160号 ·文件编号:10.1007/978-3-642-35873-9_28
[5] 阿卜杜拉,P.A.,哈齐扎,F.,霍利克,L.:如果你能阻止我!。摘自:Müller-Olm,M.,Seidl,H.(编辑)SAS 2014。LNCS,第8723卷,第1-17页。斯普林格,海德堡(2014)。doi:10.1007/978-3-319-10936-71·doi:10.1007/978-3-319-10936-71
[6] Ball,T.、Björner,N.、Gember,A.、Itzhaky,S.、Karbyshev,A.、Sagiv,M.、Schapira,M.和Valadarsky,A.:VeriCon:验证软件定义网络中的控制器程序。在:ACM SIGPLAN编程语言设计与实现会议,PLDI 2014,英国爱丁堡,2014年6月9日至11日,第31页(2014)
[7] Bansal,K.,Reynolds,A.,King,T.,Barrett,C.,Wies,T.:通过E-matching确定局部理论扩展。收录人:Kroening,D.,Psreanu,C.s.(eds.)CAV 2015。LNCS,第9207卷,第87-105页。查姆施普林格(2015)。数字对象标识代码:10.1007/978-3-319-21668-36·Zbl 1381.68280号 ·数字对象标识代码:10.1007/978-3-319-21668-36
[8] 比约纳,N.:个人沟通(2017)
[9] Börger,E.,Grädel,E.,Gurevich,Y.:经典决策问题。数学逻辑的观点。柏林施普林格(1997)·兹比尔0865.03004 ·数字对象标识代码:10.1007/978-3-642-59207-2
[10] Chang,E.,Roberts,R.:流程圆形配置中分散极值查找的改进算法。Commun公司。ACM 22(5),281-283(1979)·Zbl 0394.68023号 ·数字对象标识代码:10.1145/359104.359108
[11] de Moura,L.,Björner,N.:Z3:高效SMT求解器。收录:Ramakrishnan,C.R.,Rehof,J.(编辑)TACAS 2008。LNCS,第4963卷,第337-340页。施普林格,海德堡(2008)。doi:10.1007/978-3-540-78800-3_24·doi:10.1007/978-3-540-78800-3_24
[12] Detlefs,D.,Nelson,G.,Saxe,J.B.:简化:程序检查的定理证明器。J.ACM 52(3),365-473(2005)·Zbl 1323.68462号 ·doi:10.1145/1066100.1066102
[13] Flanagan,C.,Leino,K.R.M.,Lillibridge,M.,Nelson,G.,Saxe,J.B.,Stata,R.:Java的扩展静态检查。摘自:2002年ACM SIGPLAN编程语言设计与实现会议记录,2002年6月17日至19日,德国柏林,第234-245页(2002)
[14] Ge,Y.,Barrett,C.W.,Tinelli,C.:使用可满足性模理论求解量化验证条件。安。数学。Artif公司。智力。55(1-2), 101-122 (2009) ·Zbl 1184.68461号 ·doi:10.1007/s10472-009-9153-6
[15] Ge,Y.,de Moura,L.:可满足模理论中量化公式的完整实例化。收录:Bouajjani,A.,Maler,O.(编辑)CAV 2009。LNCS,第5643卷,第306-320页。斯普林格,海德堡(2009)。doi:10.1007/978-3642-02658-4_25·Zbl 1242.68280号 ·doi:10.1007/978-3642-02658-4_25
[16] Hawblitzel,C.,Howell,J.,Kapritsos,M.,Lorch,J.R.,Parno,B.,Roberts,M.L.,Setty,S.T.V.,Zill,B.:IronFleet:证明实际分布式系统是正确的。摘自:第25届操作系统原理研讨会论文集,SOSP,第1-17页(2015)
[17] 亨里克森,J.G.,詹森,J.,约根森,M.,克拉伦德,N.,佩奇,R.,劳赫,T.,桑德霍姆,A.:蒙纳:实践中的一元二阶逻辑。收录:Brinksma,E.、Cleaveland,W.R.、Larsen,K.G.、Margaria,T.、Steffen,B.(编辑)TACAS 1995。LNCS,第1019卷,第89-110页。斯普林格,海德堡(1995)。doi:10.1007/3-540-60630-05·doi:10.1007/3-540-60630-05
[18] Hodkinson,I.:一阶逻辑的松散保护片段具有有限模型特性。螺柱。逻辑。70(2), 205-240 (2002) ·Zbl 0998.03003号 ·doi:10.1023/A:1015178417181
[19] Ihlemann,C.,Jacobs,S.,Sofronie-Stokkermans,V.:关于验证中的局部推理。参加:2008年3月29日至4月6日在匈牙利布达佩斯举行的第14届系统构建和分析工具与算法国际会议(TACAS 2008),该会议是欧洲软件理论与实践联合会议的一部分。会议记录,第265-281页(2008年)·Zbl 1134.68410号
[20] Immerman,N.,Rabinovich,A.,Reps,T.,Sagiv,M.,Yorsh,G.:传递闭包逻辑的可判定性和不可判定性之间的边界。在:Marcinkowski,J.,Tarlecki,A.(编辑)CSL 2004。LNCS,第3210卷,第160-174页。斯普林格,海德堡(2004)。doi:10.1007/978-3-540-30124-0_15·邮编1095.03008 ·doi:10.1007/978-3-540-30124-0_15
[21] Itzhaky,S.、Banerjee,A.、Immerman,N.、Nanevski,A.、Sagiv,M.:关于链接数据结构中可达性的有效传播推理。收录:Sharygina,N.,Veith,H.(编辑)CAV 2013。LNCS,第8044卷,第756-772页。施普林格,海德堡(2013)。doi:10.1007/978-3-642-39799-8_53·文件编号:10.1007/978-3-642-39799-8_53
[22] Itzhaky,S.、Björner,N.、Reps,T.、Sagiv,M.、Thakur,A.:属性导向形状分析。摘自:Biere,A.,Bloem,R.(编辑)CAV 2014。LNCS,第8559卷,第35-51页。查姆施普林格(2014)。doi:10.1007/978-3-319-08867-93·doi:10.1007/978-3-319-08867-93
[23] Karbyshev,A.、Björner,N.、Itzhaky,S.、Rinetzky,N.和Shoham,S.:普适不变量的属性定向推理或证明其缺失。收录人:Kroening,D.,Psreanu,C.s.(eds.)CAV 2015。LNCS,第9206卷,第583-602页。查姆施普林格(2015)。数字对象标识代码:10.1007/978-3-319-21690-44·Zbl 1381.68169号 ·数字对象标识代码:10.1007/978-3-319-21690-44
[24] Lahiri,S.K.,Qadeer,S.:验证基础良好的链接列表的属性。摘自:第33届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL 2006,美国南卡罗来纳州查尔斯顿,2006年1月11日至13日,第115-126页(2006)·Zbl 1369.68143号
[25] Lahiri,S.K.,Qadeer,S.:回到未来:使用SMT解算器重新审视精确的程序验证。第35届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL 2008,美国加利福尼亚州旧金山,2008年1月7日至12日,第171-182页(2008)·Zbl 1295.68087号
[26] Leino,K.R.M.:Dafny:功能正确性的自动程序验证器。摘自:Clarke,E.M.,Voronkov,A.(编辑)LPAR 2010。LNCS(LNAI),第6355卷,第348-370页。施普林格,海德堡(2010)。数字对象标识代码:10.1007/978-3-642-17511-4-20·Zbl 1253.68095号 ·数字对象标识代码:10.1007/978-3-642-17511-4-20
[27] Leino,K.R.M.,Pit-Claudel,C.:稳定程序验证器的触发选择策略。收录:Chaudhuri,S.,Farzan,A.(编辑)CAV 2016。LNCS,第9779卷,第361-381页。查姆施普林格(2016)。数字对象标识代码:10.1007/978-3-319-41528-4-20·数字对象标识代码:10.1007/978-3-319-41528-4-20
[28] Lev-Ami,T.,Sagiv,M.:TVLA:实施静态分析的系统。收录:Palsberg,J.(编辑)SAS 2000。LNCS,第1824卷,第280-301页。斯普林格,海德堡(2000)。doi:10.1007/978-3-540-45099-3_15·Zbl 0966.68580号 ·doi:10.1007/978-3-540-45099-3_15
[29] Padon,O.,McMillan,K.L.,Panda,A.,Sagiv,M.,Shoham,S.:Ivy:通过交互式泛化进行安全验证。摘自:第37届ACM SIGPLAN编程语言设计与实现会议记录,PLDI 2016,美国加利福尼亚州圣巴巴拉,2016年6月13日至17日,第614-630页(2016)
[30] Qiu,X.,Garg,P.,Stefanescu,A.,Madhusudan,P.:结构、数据和分离的自然证明。In:ACM SIGPLAN编程语言设计与实现会议,PLDI 2013,西雅图,华盛顿州,美国,2013年6月16-19日,第231-242页(2013)
[31] Ramsey,F.P.:关于形式逻辑的问题。程序。伦敦。数学。Soc.s2-30(1),264-286(1930)·JFM 55.0032.04标准 ·doi:10.1112/plms/s2-30.1.264
[32] Reps,T.W.,Sagiv,M.,Loginov,A.:静态分析逻辑公式的有限差分。ACM事务处理。程序。语言系统。32(6), 24:1-24:55 (2010) ·兹比尔1032.68061 ·doi:10.1145/1749608.1749613
[33] Reynolds,A.、Tinelli,C.、Goel,A.、Krstić,S.:SMT中的有限模型发现。收录:Sharygina,N.,Veith,H.(编辑)CAV 2013。LNCS,第8044卷,第640-655页。施普林格,海德堡(2013)。doi:10.1007/978-3-642-39799-842·Zbl 1381.68275号 ·doi:10.1007/978-3-642-39799-842
[34] Reynolds,A.,Tinelli,C.,Goel,A.,Krstić,S.,Deters,M.,Barrett,C.:SMT中有限模型发现的量化器实例化技术。收录:Bonacina,M.P.(编辑)CADE 2013。LNCS(LNAI),第7898卷,第377-391页。施普林格,海德堡(2013)。doi:10.1007/978-3-642-38574-226·Zbl 1381.68275号 ·doi:10.1007/978-3-642-38574-226
[35] Sagiv,S.,Reps,T.W.,Wilhelm,R.:通过三值逻辑进行参数形状分析。ACM事务处理。程序。语言系统。24(3), 217-298 (2002) ·doi:10.1145/514188.514190
[36] Sofrone-Stokkermans,V.公司·doi:10.1007/11532231_16
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。