×

使用约束Horn子句进行前提推理的迭代方法。 (英语) Zbl 1451.68075号

摘要:我们提出了一种自动推断程序初始状态条件的方法,以确保程序中的安全断言不会被违反。约束Horn子句(CHC)用于以统一的方式对程序和断言进行建模,并且我们使用标准的抽象解释来导出不安全的初始状态。然后,先决条件是与该集合的补集相对应的约束,该约束近似于安全的初始状态。这种互补的想法并不新鲜,但以前利用它的尝试已经失去了准确性。在这里,我们开发了一种迭代专门化算法,以提供更精确的,在某些情况下是最佳安全条件。该算法结合了现有的变换,即约束专业化、部分求值和迹消除变换。这些转换中的最后两个执行多元专业化,导致析取约束,从而提高精度。该算法在预条件推理和软件验证竞赛文献中的一组基准程序上进行了实现和测试。

MSC公司:

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

参考文献:

[1] 巴格纳拉,R。;希尔,P.M。;Zaffanella,E.,《帕尔马多面体图书馆:为硬件和软件系统的分析和验证实现一整套数字抽象》,科学。计算。程序。,72, 1, 3-21, (2008) ·doi:10.1016/j.scico.2007.08.001
[2] Bakhirkin,A。;Berdine,J。;北卡罗来纳州皮特曼。;缪勒·奥尔姆(Müller-Olm,M.)。;Seidl,H.,《静态分析,通过过近似抽象和欠近似减法进行反向分析》,34-50,(2014),Springer
[3] Bakhirkin,A。;Monniaux,D。;Ranzato,F.,《静态分析,结合Horn子句的正向和反向抽象解释》,23-45,(2017),Springer·兹比尔1369.68036 ·数字对象标识代码:10.1007/978-3-319-66706-5
[4] 球,T。;库克,B。;列文,V。;Rajamani,S.K。;Boiten,E.A。;Derrick,J。;Smith,G.,《集成形式方法、SLAM和静态驱动验证程序:微软内部形式方法的技术转让》,1-20,(2004),Springer·Zbl 1196.68041号 ·数字对象标识代码:10.1007/b96106
[5] Beyer,D。;北卡罗来纳州皮特曼。;Smolka,S.A.,系统构建和分析的工具和算法,SV-COMP 2013,594-609,(2013),施普林格·Zbl 1268.68030号 ·doi:10.1007/978-3-642-36742-7
[6] Beyer,D。;Henzinger,T.A。;马朱姆达尔,R。;Rybalchenko,A。;费兰特,J。;Mckinley,K.S.,《编程语言设计与实现》,路径不变量,300-309,(2007),美国计算机学会
[7] 卡塞兹,F。;Jensen,P.G。;Larsen,K.G。;M.海牙。;Potapov,I.,可达性问题,实时程序跟踪抽象的细化,42-58,(2017),Springer·Zbl 1371.68009号 ·doi:10.1007/978-3-319-67089-8
[8] 克拉克,E.M。;格伦伯格,O。;Jha,S。;卢,Y。;Veith,H.,符号模型检查的反例引导抽象精化,J.ACM,50,5752-794,(2003)·Zbl 1325.68145号 ·doi:10.1145/876638.876643
[9] 库索特,P。;库索特,R.,《逻辑程序的抽象解释和应用》,J.Log。程序。,13, 2, 103-179, (1992) ·Zbl 0776.68024号 ·doi:10.1016/0743-1066(92)90030-7
[10] 库索特,P。;库索特,R。;洛戈佐,F。;贾拉(Jhala,R.)。;Schmidt,D.,《验证、模型检查和抽象解释》,从间歇断言和收款合同应用中得出的前提推断,150-168,(2011),施普林格·Zbl 1206.68013号 ·doi:10.1007/978-3642-18275-4
[11] De Angelis,E。;Fioravanti,F。;Pettorossi,A。;Proietti,M.,通过迭代专门化进行程序验证,科学。计算。程序。,95, 149-175, (2014) ·doi:10.1016/j.scico.2014.05.017
[12] 德安吉利斯,E。;Fioravanti,F。;Pettorossi,A。;Proietti,M.,《通过程序专业化基于语义的验证条件生成》,科学。计算。程序。,147, 78-108, (2017) ·doi:10.1016/j.scico.2016.111.002
[13] Dutertre,B。;Biere,A。;Bloem,R.,计算机辅助验证,Yices 2.2,737-744,(2014),Springer
[14] Gallagher,J.P.,Proc。ACM SIGPLAN Symp.公司。PEPM’93,逻辑程序专业化:教程,88-98,(1993),ACM出版社
[15] 加拉赫,J.P。;拉法夫,L。;O.丹维。;吕克,R。;Thiemann,P.,部分求值,逻辑和函数语言中计算路径的正则近似,115-136,(1996),Springer·数字对象标识代码:10.1007/3-540-61580-6
[16] 格拉芙,S。;萨伊迪,H。;Grumberg,O.,计算机辅助验证,第九届国际会议,CAV,用PVS构造抽象状态图,72-83,(1997),Springer·doi:10.1007/3-540-63166-6
[17] 格雷本希科夫,S。;Lopes,N.P。;波皮亚,C。;Rybalchenko,A。;维泰克·J。;Lin,H。;Tip,F.(2012)
[18] Gulavani,B.S。;Chakraborty,S。;Nori,A.V。;Rajamani,S.K。;罗马克里希南,C.R。;Rehof,J.,《系统构建和分析的工具和算法》,自动精炼抽象解释,443-458,(2008),Springer·Zbl 1133.68009号 ·数字对象标识代码:10.1007/978-3-540-78800-3
[19] 古普塔,A。;Rybalchenko,A。;Bouajjani,A。;Maler,O.,计算机辅助验证,InvGen:高效不变量生成器,634-640,(2009),Springer·Zbl 1165.68004号 ·doi:10.1007/978-3642-02658-4
[20] Gurfinkel,A。;Kahsai,T。;Komuravelli,A。;纳瓦斯,J.A。;Kroening,D。;Péséreau,C.s.,《计算机辅助验证》,《SeaHorn验证框架》,343-361,(2015),施普林格出版社
[21] Hermenegildo,M.V。;布埃诺,F。;卡罗,M。;洛佩斯·加西亚,P。;梅拉,E。;莫拉莱斯,J.F。;Puebla,G.,《Ciao及其设计理念概述》,TPLP,12,1,219-252,(2012)·Zbl 1244.68019号
[22] 豪,J.M。;金·A。;卢,L。;Bruynooghe,M。;Lau,K.,《计算逻辑中的程序开发》,《通过反向推理分析逻辑程序》,152-188,(2004),施普林格出版社·Zbl 1080.68548号 ·doi:10.1007/b98187
[23] Jaffar,J。;马希尔,M。;英国万豪酒店。;Stuckey,P.J.,约束逻辑程序的语义,J.Log。程序。,37, 1, 1-46, (1998) ·Zbl 0920.68068号 ·doi:10.1016/S0743-1066(98)10002-X
[24] Jaffar,J。;穆拉利,V。;纳瓦斯,J.A。;Santosa,A.E。;Madhusudan,P。;Seshia,S.A.,计算机辅助验证,TRACER:用于验证的符号执行工具,758-766,(2012),Springer·Zbl 1241.68027号 ·doi:10.1007/978-3642-31424-7
[25] 贾拉(Jhala,R.)。;麦克米伦,K.L。;Hermanns,H。;Palsberg,J.,《系统构建和分析的工具和算法,谓词求精的实用和完整方法》,459-473,(2006),Springer·Zbl 1180.68181号 ·doi:10.1007/11691372
[26] 琼斯,N。;Gomard,C。;Sestoft,P.,《部分评估和自动软件生成》,(1993),普伦蒂斯·霍尔
[27] 卡夫,B。;Gallagher,J.P.,《Horn子句验证中的约束专业化》,科学。计算。程序。,137, 125-140, (2017) ·doi:10.1016/j.scico.2017.01.002
[28] 卡夫,B。;Gallagher,J.P.,用凸多面体抽象和基于树自动机的细化进行Horn子句验证,计算机语言,系统与结构,47,2-18,(2017)·Zbl 1379.68239号 ·doi:10.1016/j.cl.2015.11.001
[29] 卡夫,B。;加拉赫,J.P。;莫拉莱斯,J.F。;乔杜里,S。;Farzan,A.,计算机辅助验证,RAHFT:使用抽象解释和有限树自动机验证Horn子句的工具,261-268,(2016),Springer
[30] 英国万豪酒店。;Söndergaard,H.,《逻辑程序的精确和有效基础分析》,ACM LOPLAS,2,1-4,181-196,(1993)·数字对象标识代码:10.1145/176454.176519
[31] Miné,A.,八角形抽象域,高阶和符号计算,19,1,31-100,(2006)·Zbl 1105.68069号 ·doi:10.1007/s10990-006-8609-1
[32] Miné,A.,用反向多面体欠逼近推断充分条件,Electr。注释Theor。计算。科学。,287, 89-100, (2012) ·Zbl 1294.68062号 ·doi:10.1016/j.entcs.2012.09.09
[33] Miné,A.(2012)
[34] 莫伊,Y。;洛戈佐,F。;Peled,D.A。;Zuck,L.D.,验证,模型检查和抽象解释,模块断言检查的充分前提条件,188-202,(2008),Springer·兹比尔1134.68006 ·doi:10.1007/978-3-540-78163-9
[35] 佩拉尔塔,J.C。;加拉赫,J.P。;萨兰,H。;Levi,G.,通过分析约束逻辑程序分析命令式程序,静态分析,246-261,(1998)·Zbl 0896.00033号 ·doi:10.1007/3-540-49727-7
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。