×

带有数组的程序的惰性抽象的一种扩展,带有插值。 (英语) Zbl 1317.68107号

摘要:基于插值的改进的懒惰抽象已被证明是验证命令式程序的一种强大技术。然而,在存在数组的情况下,由于验证所需的不变量通常包含普遍量化的变量,而这些变量在程序规范中不存在,因此该方法受到内在限制。在这项工作中,我们提出了基于插值的惰性抽象框架的扩展,在该框架中,可以以自然的方式处理未知长度的数组。特别是,我们利用模型检查模块理论框架来推导支持数组推理的惰性抽象的向后可达版本。新方法已经在一个名为safari的工具中实现,该工具已经在广泛的基准上进行了验证。我们通过实验表明,我们的方法可以以完全自动化的方式合成和证明阵列上的通用量化属性。

MSC公司:

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

参考文献:

[1] Abdulla PA,Jonsson B(1996)《使用不可靠渠道验证程序》。信息计算127(2):91-101·Zbl 0856.68096号 ·doi:10.1006/inco.1996.0053
[2] Aho AV、Lam MS、Sethi R、Ullman JD(2007)《编译器:原理、技术和工具》,第2版。皮尔逊-阿迪森·卫斯理·Zbl 1429.68002号
[3] Albarghouthi,A。;Gurfinkel,A。;Chechik,M。;Miné,A.(编辑);施密特,D.(编辑),克雷格解释,300-316(2012),计算机科学讲稿
[4] Alberti F、Bruttomesso R、Ghilardi S、Ranise S、Sharygina N(2012)《数组插值的惰性抽象》。收录于:Björner N,Voronkov A(eds)LPAR,计算机科学课堂讲稿,第7180卷,第46-61页。斯普林格·Zbl 1352.68141号
[5] Alberti F,Bruttomesso R,Ghilardi S,Ranise S,Sharygina N(2012)SAFARI:基于SMT的带插入式阵列抽象。收件人:Madhusudan P,Seshia SA(eds)CAV。,计算机科学讲稿,第7358卷,柏林斯普林格,第679-685页·Zbl 1352.68141号
[6] Alberti F、Ghilardi S、Pagani E、Ranise S、Rossi GP(2010年)。自动支持容错参数化系统的设计和验证:案例研究。ECEASST,第35页·Zbl 1335.68138号
[7] Alberti F、Ghilardi S、Pagani E、Ranise S、Rossi GP(2012)《通用防护、量词的相对化和模型检验模理论中的失效模型》。JSAT 8(1/2):29-61·Zbl 1331.68141号
[8] Armando A、Benerecetti M、Carotenuto D、Mantovani J、Spica P(2007)软件模型检查的Eureka工具。在Stirewalt REK、Egyed A、Fischer B(编辑)、ASE中。ACM,第541-542页。
[9] 阿曼多A、贝内雷塞蒂M、曼托瓦尼J(2007)。具有数组的线性程序的抽象精化。收录:Grumberg O,Huth M(eds)TACAS,计算机科学讲义,第4424卷。施普林格,第373-388页·Zbl 1186.68275号
[10] 巴德·弗兰兹;Silvio,Ghilardi,无文章标题,连接多种理论。《符号逻辑杂志》,72,535-583(2007)·Zbl 1136.03012号 ·数字对象标识代码:10.2178/jsl/1185803623
[11] Ball T,Rajamani SK(2002)SLAM项目:通过静态分析调试系统软件。收录于:Launchbury和Mitchell(编辑)2002年POPL会议记录:第29届SIGPLAN-SIGACT编程语言原则研讨会,2002年1月16日至18日,美国俄勒冈州波特兰市。ACM,第1-3页·Zbl 1184.68461号
[12] Beyer D(2013)第二次软件验证竞赛-(2013年SV-COMP摘要)。在Piterman N,Smolka SA(eds)《第19届系统构建和分析工具和算法国际会议论文集》(TACAS 2013)中,作为欧洲软件理论与实践联合会议(ETAPS 2013)的一部分,于2013年3月16日至24日在意大利罗马举行。计算机科学课堂讲稿,第7795卷。施普林格,第594-609页
[13] Beyer D、Henzinger TA、Jhala R、Majumdar R(2007)软件模型检查器爆炸。STTT 9(5-6):505-525·Zbl 0944.68139号
[14] Beyer D、Henzinger TA、Jhala R、Majumdar R、Rybalchenko A(2007)《组合理论的不变综合》。库克B,波德尔斯基A(eds)VMCAI,计算机科学讲义,第4349卷。施普林格,第378-394页·Zbl 1132.68333号
[15] Beyer D,Erkan Keremoglu M(2011)CPAchecker:可配置软件验证工具。收录于:Gopalakrishnan G,Qadeer S(eds)《第23届计算机辅助验证国际会议论文集》,CAV 2011,美国犹他州雪鸟,2011年7月14日至20日。计算机科学课堂讲稿,第6806卷。施普林格第184-190页。
[16] Biere A、Cimatti AA、Clarke EM、Zhu Y(1999)《无BDD的符号模型检查》。收录:Cleaveland R(ed)TACAS,计算机科学讲稿,第1579卷。施普林格,第193-207页。
[17] Blanchet B、Cousot P、Cousot R、Feret J、Mauborgne L、MinéA、Monniaux D、Rival X(2002)安全关键型实时嵌入式软件专用静态程序分析器的设计与实现。收录:Mogensen TÆ,Schmidt DA,Sudborough IH(eds)《计算的本质》,计算机科学讲义,第2566卷。施普林格,第85-108页·Zbl 1026.68514号
[18] Brillout A,Kroening,D,Rümmer P,Wahl T(2010)无量词Presburger算法的插值序列演算。在:Giesl H(ed)《第五届自动推理国际联合会议论文集》,IJCAR 2010,英国爱丁堡,2010年7月16日至19日。计算机科学讲义,第6173卷。施普林格,第384-399页·Zbl 1291.03112号
[19] Bruttomesso R,Ghilardi S,Ranise S(2012)《无量词插值从强混合性到模块性》。在:IJCAR,计算机科学讲义。施普林格,第118-133页·Zbl 1358.68183号
[20] Bruttomesso R,Ghilardi S,Ranise S(2012),阵列理论的无量子化插值。计算机科学中的逻辑方法8(2)·Zbl 1237.68123号
[21] Bruttomesso R、Pek E、Sharygina N、Tsitovich A(2010)OpenSMT求解器。收录:Esparza J,Majumdar R(eds)TACAS,计算机科学讲义,第6015卷。施普林格,第150-153页。
[22] Carioni A、Ghilardi S、Ranise S(2011)《模型检验模理论中的自动终止》。收录:Delzanno G,Potapov I(eds)RP,计算机科学课堂讲稿,第6945卷。施普林格,第110-124页·Zbl 1348.68124号
[23] Chase DR、Wegman MN、Zadeck FK(1990)《指针和结构分析》。收件人:Fischer BN(ed)PLDI。ACM,第296-310页。
[24] Cimatti A、Griggio A、Schaafsma BJ、Sebastiani R(2013)《MathSAT5 SMT求解器》。摘自:Piterman N,Smolka SA(eds)《第19届系统构建和分析工具和算法国际会议论文集》,TACAS 2013,作为欧洲软件理论和实践联合会议的一部分,ETAPS 2013,意大利罗马,2013年3月16-24日。计算机科学课堂讲稿,第7795卷。施普林格,第93-107页·Zbl 1381.68153号
[25] Robert Clarisó,Jordi Cortadella(2007)八面体抽象域。科学计算程序64(1):115-139·Zbl 1171.68540号 ·doi:10.1016/j.scico.2006.03.009
[26] Clarke EM,Grumberg O,Jha S,Lu Y,Veith H(2000)反例引导的抽象精化。摘自:Allen Emerson E,Prasad Sistla A(eds)CAV,计算机科学课堂讲稿,第1855卷。施普林格,第154-169页·Zbl 0974.68517号
[27] Clarke EM、Kroening D、Lerda F(2004)《检查ANSI-C程序的工具》。在Jensen K,Podelski A(eds)TACAS,计算机科学讲义,第2988卷。施普林格,第168-176页·Zbl 1126.68470号
[28] Cousot P,Cousot R(1977)抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。收件人:Graham RM、Harrison MA、Sethi R(eds)POPL。ACM,第238-252页
[29] Cousot P,Cousot R,Logozzo F(2011)用于全自动和可扩展数组内容分析的参数分割函子。在Ball T,Sagiv M(eds)POPL中。ACM,第105-118页·Zbl 1284.68210号
[30] Cousot P,Halbwachs N(1978)程序变量之间线性约束的自动发现。收件人:Aho Alfred V、Zilles Stephen N、Szymanski Thomas G(编辑)POPL。ACM出版社,第84-96页。
[31] Craig W(1957)Herbrand-Gentzen定理在关联模型理论和证明理论中的三个应用。J Symb日志22(3):269-285·Zbl 0079.24502号 ·doi:10.2307/2963594
[32] Mendonça de Moura L,Björner N(2007)《SMT求解器的高效电子匹配》。在Pfenning F(ed)CADE,《计算机科学讲义》,第4603卷。施普林格,第183-198页·Zbl 1213.68578号
[33] Mendonça de Moura L,Björner N(2008)Z3:一种高效的SMT求解器。收录于:Ramakrishnan CR,Rehof J(eds)《第14届系统构建和分析工具和算法国际会议论文集》,TACAS 2008,作为欧洲软件理论和实践联合会议的一部分,ETAPS 2008,匈牙利布达佩斯,2008年3月29日至4月6日,计算机科学讲义,第4963卷。施普林格,第337-340页·Zbl 0856.68096号
[34] Delzanno G,Esparza J,Podelski A(1999)广播协议的基于约束的分析。CSL会议记录,LNCS 1683:50-66·Zbl 0944.68139号
[35] Dillig I,Dillig T,Alex Aiken T(2010)流体更新:超越强更新与弱更新。在Gordon AD(ed),ESOP,计算机科学讲义,第6012卷。施普林格,第246-266页·Zbl 1260.68092号
[36] Dimitrova R,Podelski A(2008),延迟抽象是广播协议的决策过程吗?收录:Logozzo F、Peled D、Zuck LD(eds)VMCAI,计算机科学讲义,第4905卷。施普林格,第98-111页·Zbl 1138.68445号
[37] Dudka K、Peringer P、Vojnar T(2011)《捕食者:使用分离逻辑检查动态数据结构操作的实用工具》。收录于:Gopalakrishnan G,Qadeer S(eds)《第23届计算机辅助验证国际会议论文集》,CAV 2011,美国犹他州雪鸟,2011年7月14日至20日。计算机科学课堂讲稿,第6806卷。施普林格,第372-378页。
[38] Dudka K、Peringer P、Vojnar T(2013)低级别列表操作的字节精度验证。收录:Logozzo F,Fähndrich M(eds)SAS,《计算机科学讲义》,第7935卷。施普林格,第215-237页。
[39] Enderon HB(2001)《逻辑的数学导论》。爱思唯尔科学·Zbl 0992.03001号
[40] Fähndrich M,Logozzo F(2010)具有抽象解释的静态合同检查。Beckert B,MarchéC(eds)FoVeOOS,计算机科学讲义,第6528卷。施普林格,第10-30页·Zbl 1308.68033号
[41] Flanagan C,Qadeer S(2002)软件验证谓词抽象。收录于:Launchbury J,Mitchell JC(eds)2002年POPL会议记录:第29届SIGPLAN-SIGACT编程语言原则研讨会,2002年1月16日至18日,美国俄勒冈州波特兰。ACM,第191-202页·Zbl 1323.68371号
[42] Furia C.A.、Meyer B.(2010年)。使用后置条件推断循环不变量。A.Blass、N.Dershowitz和W.Reisig(编辑),《逻辑和计算领域》,《计算机科学讲义》第6300卷,第277-300页。斯普林格·Zbl 1287.68108号
[43] Ge Y,Barrett CW,Tinelli C(2009)使用可满足性模理论求解量化验证条件。安。数学。Artif公司。智力。55(1-2):101-122·Zbl 1184.68461号 ·doi:10.1007/s10472-009-9153-6
[44] Ge Y,Mendonça de Moura L(2009)可满足模理论中量化公式的完整实例化。在Bouajjani A,Maler O(eds)CAV,计算机科学讲义,第5643卷。施普林格,第306-320页·Zbl 1242.68280号
[45] Ghilardi S,Ranise S(2009)《工作中的模型检验模理论:Yices在MCMT中的集成》。输入:AFM。
[46] Ghilardi S,Ranise S(2010)基于SMT求解的阵列系统的向后可达性:终止和不变合成。计算机科学中的逻辑方法6(4)·Zbl 1213.68379号
[47] Ghilardi S,Ranise S(2010)Mcmt:模型检验模理论。Giesl J,Hähnle R(eds)《第五届国际自动推理联合会议论文集》,2010年7月16日至19日,英国爱丁堡。计算机科学讲义,第6173卷。施普林格,第22-29页·兹比尔1291.68257
[48] Ghilardi S、Ranise S、Valsecchi T(2009),基于SMT的轻型模型检查。计算机科学电子笔记250(2):85-102·Zbl 1335.68138号 ·doi:10.1016/j.entcs.2009.08.019
[49] Gopan D,Reps TW,Sagiv S(2005)阵列操作数值分析框架。收录:Palsberg J,Abadi M(eds)POPL。ACM,第338-350页·Zbl 1369.68138号
[50] Graf S,Saídi H(1997)用PVS构造抽象状态图。在Grumberg O(ed)CAV中,《计算机科学讲义》,第1254卷。施普林格,第72-83页。
[51] Gulwani S,Tiwari A(2006)组合抽象口译员。在:Schwartzbach MI,Ball T(eds)PLDI。ACM,第376-386页。
[52] Halbwachs N,Péron M(2008)发现简单程序中数组的属性。在Gupta R,Amarasinghe SP(eds)PLDI。ACM,第339-348页。
[53] Henzinger TA、Jhala R、Majumdar R、McMillan KL(2004)《证据的抽象》。收件人:Jones ND,Leroy X(eds)POPL。ACM,第232-244页·Zbl 1325.68147号
[54] Henzinger TA、Jhala R、Majumdar R、Sutre G(2002)《惰性抽象》。收录于:Launchbury J,Mitchell JC(eds)2002年POPL会议记录:第29届SIGPLAN-SIGACT编程语言原则研讨会,2002年1月16日至18日,美国俄勒冈州波特兰。ACM,第58-70页·Zbl 1323.68374号
[55] Hind M(2001)指针分析:我们还没有解决这个问题吗?In:字段J,Snelting G(eds)PASTE。ACM,第54-61页。
[56] Hoder K、Kovács L、Voronkov A(2010)《吸血鬼中的插值和符号消除》。在:Giesl H(ed)《第五届自动推理国际联合会议论文集》,IJCAR 2010,英国爱丁堡,2010年7月16日至19日。计算机科学讲义,第6173卷。施普林格,第188-195页·Zbl 1291.68348号
[57] Hodges W(1993)《模型理论》,数学百科全书第42卷及其应用。剑桥大学出版社,剑桥·Zbl 0789.03031号
[58] Jhala R,McMillan KL(2006)谓词求精的实用完整方法。收录:Hermanns H,Palsberg J(eds)TACAS,《计算机科学讲义》,第3920卷。施普林格,第459-473页·Zbl 1180.68118号
[59] Jhala R,McMillan KL(2007)《从证明中提取数组》。在Damm W,Hermanns H(eds)CAV,计算机科学讲义,第4590卷。施普林格,第193-206页·Zbl 1135.68474号
[60] Kapur D、Majumdar R、Zarba CG(2006)《数据结构插值》。收件人:Young M,Devanbu PT(eds)SIGSOFT FSE。ACM,第105-116页。
[61] Kovács L,Voronkov A(2009)使用定理证明器寻找数组上程序的循环不变量。在Chechik M,Wirsing M(eds)FASE,计算机科学讲义,第5503卷。施普林格,第470-485页。
[62] Lahiri SK,Bryant RE(2004)通过谓词抽象构造量化不变量。Steffen B,Levi G(eds)VMCAI,计算机科学课堂讲稿,第2937卷。施普林格,第267-281页·Zbl 1202.68251号
[63] Lahiri SK,Bryant RE(2004)无界系统验证的索引谓词发现。在Alur R,Peled D(eds)CAV,计算机科学讲义,第3114卷。施普林格,第135-147页·Zbl 1103.68627号
[64] Larraz D、Rodríguez-Carbonell E、Rubio A(2013)基于SMT的阵列不变量生成。收录:Giacobazzi R,Berdine J,Mastroeni I(eds)VMCAI,计算机科学讲稿,第7737卷。施普林格,第169-188页·Zbl 1426.68056号
[65] Manna Z,Pnueli A(1992)《反应式和并发系统的时序逻辑——规范》。施普林格,柏林·Zbl 0753.68003号 ·doi:10.1007/978-1-4612-0931-7
[66] 麦卡锡J(1962)《走向数学计算科学》。摘自:IFIP大会,第21-28页。
[67] McMillan KL(2006)用插值进行惰性抽象。摘自:Ball T,Jones RB(eds)《第18届计算机辅助验证国际会议论文集》,2006年8月17日至20日,美国华盛顿州西雅图,计算机科学讲义,第4144卷。施普林格,第123-136页·兹比尔1188.68196
[68] McMillan KL(2008)使用插值饱和证明器的量化不变量生成。在Ramakrishnan CR,Rehof J(eds)《第14届系统构建和分析工具和算法国际会议论文集》,TACAS 2008,作为欧洲软件理论和实践联合会议的一部分,ETAPS 2008,匈牙利布达佩斯,2008年3月-4月6日,计算机科学讲义,第4963卷。施普林格,第413-427页·Zbl 1134.68416号
[69] Antoine Miné(2006)八角形抽象域。高阶符号计算19(1):31-100·Zbl 1105.68069号 ·doi:10.1007/s10990-006-8609-1
[70] Nelson G,Oppen DC(1979)《通过合作决策程序简化》。ACM Trans程序语言系统1(2):245-257·Zbl 0452.68013号 ·数字对象标识代码:10.1145/357073.357079
[71] Podelski A,Wies T(2005)布尔堆。Hankin C,Siveroni I(eds)SAS,《计算机科学讲义》,第3672卷。施普林格,第268-283页·Zbl 1141.68374号
[72] Ranise S,Tinelli C(2006)。可满足性模理论库(SMT-LIB)。http://www.smt-lib.orgwww.smt-lib.org
[73] Reynolds JC(2002)《分离逻辑:共享可变数据结构的逻辑》。单位:LICS。IEEE计算机学会,第55-74页。
[74] Rümmer P,SubotićP(2013),探索插值。收录人:Jobstmann B,Ray S(编辑)FMCAD。FMCAD公司,第69-76页。
[75] Sagiv S,Reps TW,Reinhard Wilhelm。通过三值逻辑进行参数化形状分析。收录:Appel AW,Aiken A(编辑)POPL。ACM,第105-118页(1999年)。
[76] Seghir MN,Podelski A,Wies T(2009)量化数组断言的抽象精化。收录:Palsberg J,Su Z(eds)SAS,《计算机科学讲义》,第5673卷。施普林格,第3-18页·Zbl 1248.68151号
[77] Srivastava S,Gulwani S(2009)使用模板对谓词抽象进行程序验证。收件人:Hind M,Diwan A(编辑)PLDI。ACM,第223-234页。
[78] Wirth N(1978)算法+数据结构=程序。自动计算Prentice-Hall系列,培生教育
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。