×

支持转换的前提推理。 (英语) Zbl 1530.68065号

摘要:前提推理是一个在程序分析和验证中具有重要应用的非平凡问题。我们提出了一种新的迭代方法,用于自动推导程序安全和不安全的前提条件。每次迭代都会保持安全的不安全的首字母状态,用于划分程序的最初的将状态转换为已知状态安全的,已知为不安全的未知的然后,我们用这些信息构建修订后的程序未知的初始状态并迭代该过程,直到近似不相交或满足某些终止条件。在一组软件验证基准上对该方法进行的实验评估表明,它可以推断出使用以前方法不可能实现的精确前提条件(有时是最优的)。

MSC公司:

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

参考文献:

[1] Bagnara,R.、Hill,P.M.和Zaffanella,E.2008。帕尔马多面体图书馆:为硬件和软件系统的分析和验证提供一套完整的数字抽象。《计算机程序设计科学》72,1-2,3-21。
[2] Bakhirkin,A.、Berdine,J.和Piterman,N.2014。通过过近似抽象和欠近似减法进行反向分析。在SAS 2014中。LNCS,第8723卷。施普林格,34-50。
[3] Bakhirkin,A.和Monniaux,D.2017。结合了Horn子句的前向和后向抽象解释。在SAS 2017中。LNCS,第10422卷。施普林格,23-45岁·Zbl 1420.68062号
[4] 拜尔,D.2021。软件验证:第十次比较评估(SV-COMP 2021)。在TACAS 2021中,Groote,J.F.和Larsen,K.G.,Eds.LNCS。斯普林格,401-422。
[5] Beyer,D.、Henzinger,T.A.、Majumdar,R.和Rybalchenko,A.2007年。路径不变量。在PLDI、Ferrante,J.和Mckinley,K.S.编辑的ACM中,300-309。
[6] Cassez,F.、Jensen,P.G.和Larsen,K.G.,2017年。实时程序跟踪抽象的改进。在可达性问题中。LNCS,第10506卷。施普林格,42-58·Zbl 1478.68052号
[7] Codish,M.和Söndergaard,H.2002。Prolog中的超循环抽象解释。在《计算的本质》中,T.Mogensen等人,编辑:LNCS,第2566卷。施普林格,109-134·Zbl 1026.68505号
[8] 库索特P.和库索特R.1992。逻辑程序的抽象解释和应用。《逻辑编程》13、2和3,103-179·Zbl 0776.68024号
[9] 库索特·P.、库索特·R.、法恩德里奇·M.和洛戈佐·F.2013。必要前提条件的自动推断。在VMCAI’13中。LNCS,第7737卷。施普林格,128-148。
[10] Cousot,P.和Halbwachs,N.1978。程序变量之间线性约束的自动发现。在POPL中。ACM出版社,84-96。
[11] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2014。通过迭代专门化进行程序验证。计算机编程科学95149-175。
[12] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2014。VeriMAP:通过转换验证程序的工具。在TACAS 2014中。LNCS,第8413卷。施普林格,568-574。
[13] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2017。通过程序专门化基于语义的验证条件生成。计算机编程科学147,78-108。
[14] Dillig,I.、Dillig、T.、Li,B.和Mcmillan,K.L.2013。通过溯因推理生成归纳不变量。2013年OOPSLA。美国医学会,443-456·Zbl 1381.68057号
[15] Doménech,J.J.、Gallagher,J.P.和Genaim,S.2019。通过部分评估对控制流进行细化,并将其应用于终止和成本分析。逻辑程序设计理论与实践19,5-6,990-1005·Zbl 1434.68104号
[16] Dutertre,B.2014。Yices 2.2。2014年CAV。LNCS,第8559卷。施普林格,737-744。
[17] Gallagher,J.P.2019年。具有基于属性的抽象的多变量程序专业化。在VPT 2019中。EPTCS,第299卷。34-48.
[18] Gallagher,J.P.和Lafave,L.1996。逻辑和函数语言中计算路径的正则近似。在部分评估中。LNCS,第1110卷。斯普林格,115-136。
[19] Grebenshchikov,S.、Lopes,N.P.、Popeea,C.和Rybalchenko,A.2012。根据证明规则合成软件验证器。2012年PLDI。美国医学会,405-416。
[20] Gulavani,B.S.、Chakraborty,S.、Nori,A.V.和Rajamani,S.K.2008。自动提炼抽象解释。在TACAS 2008中。LNCS,第4963卷。施普林格,443-458·Zbl 1134.68356号
[21] Gulwani,S.、Jain,S.和Koskinen,E.2009。边界分析的控制流精化和过程不变量。在PLDI中。美国医学会,375-385。
[22] Gupta,A.和Rybalchenko,A.2009。Invgen:一个高效的不变量生成器。在CAV中,Bouajjani,A.和Maler,O.,Eds.LNCS,第5643卷。施普林格,634-640。
[23] Gurfinkel,A.、Kahsai,T.、Komuravelli,A.和Navas,J.A.2015。SeaHorn验证框架。2015年CAV。LNCS,第9206卷。施普林格,343-361。
[24] Hermenegildo,M.V.、Bueno,F.、Carro,M.等人,2012年。Ciao及其设计理念概述。逻辑程序设计的理论与实践12,1-2,219-252·Zbl 1244.68019号
[25] Howe,J.M.,King,A.和Lu,L.2004。通过反向推理分析逻辑程序。在计算逻辑程序开发中。LNCS,第3049卷。斯普林格,152-188·兹比尔1080.68552
[26] Jaffar,J.、Murali,V.、Navas,J.A.和Santosa,A.E.2012。TRACER:用于验证的符号执行工具。2012年CAV。LNCS,第7358卷。斯普林格,758-766·Zbl 1478.68164号
[27] Jones,N.、Gomard,C.和Sestoft,P.1993。部分评估和自动软件生成。普伦蒂斯·霍尔·Zbl 0875.68290号
[28] Kafle,B.和Gallagher,J.P.2017a。Horn子句验证中的约束专业化。计算机编程科学137125-140。
[29] Kafle,B.和Gallagher,J.P.2017b。使用凸多面体抽象和基于树自动机的细化进行Horn子句验证。计算机语言、系统和结构47,2-18·Zbl 1379.68239号
[30] Kafle,B.、Gallagher,J.P.、Gange,G.等人,2018年。使用约束Horn子句进行前提推理的迭代方法。逻辑程序设计的理论与实践18,553-570·Zbl 1451.68075号
[31] Karr,M.1976年。程序变量之间的仿射关系。信息学报6133-151·Zbl 0358.68025号
[32] Marriott,K.和Söndergaard,H.1993。逻辑程序的精确有效的基础性分析。ACM编程语言和系统快报2,1-4181-196。
[33] 米内,A.2006。八角形抽象域。高阶和符号计算19,1,31-100·Zbl 1105.68069号
[34] Miné,A.2012年。利用反向多面体欠逼近推导出充分条件。理论计算机科学电子笔记287,89-100·Zbl 1294.68062号
[35] Moy,2008年。模块化断言检查的充分前提条件。在VMCAI 2008中。LNCS,第4905卷。施普林格,188-202年·兹比尔1138.68455
[36] Muthukumar,K.和Hermenegildo,M.1990。推导逻辑程序自顶向下抽象解释的不动点计算算法。技术报告ACT-DC-153-90,微电子和计算机技术公司(MCC),德克萨斯州奥斯汀,78759。4月。
[37] Padhi,S.、Sharma,R.和Millstein,T.D.2016。具有学习特征的数据驱动前提推理。2016年PLDI。美国医学会,42-56。
[38] Peralta,J.C.、Gallagher,J.P.和Sağlam,H.1998。通过分析约束逻辑程序分析命令式程序。在SAS 1998中。LNCS,第1503卷。246-261.
[39] Popeea,C.和Chin,W.2013。双重分析,用于证明安全性和发现漏洞。《计算机编程科学》78,4,390-411·Zbl 1264.68065号
[40] Puebla,G.和Hermenegildo,M.V.1999。抽象多重专门化及其在程序并行化中的应用。逻辑编程杂志41,2-3,279-316·Zbl 0944.68026号
[41] Sankaranarayanan,S.、Sipma,H.和Manna,Z.2004。基于Gröbner基的非线性循环不变量生成。在POPL中。美国医学会,318-329·Zbl 1325.68071号
[42] Seghir,M.N.和Schrammel,P.2014。通过急切抽象实现必要和充分的前提条件。2014年APLAS。LNCS,第8858卷。施普林格,236-254·Zbl 1453.68056号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。