×

用于程序验证的约束Horn子句的分析和转换。 (英语) Zbl 07776353号

摘要:本文综述了将源自约束逻辑编程(CLP)领域的分析和转换技术应用于软件系统验证问题的最新研究。我们提出了基于专业化的技术,用于将不同编程语言和一般软件系统的验证问题转化为约束Horn子句(CHCs)的可满足性问题,该术语在验证领域已变得流行,用于指代CLP程序。然后,我们描述了CHC的静态分析技术,这些技术可用于推断相关的程序属性,例如循环不变量。我们还概述了一些基于专门化和折叠/展开规则的转换技术,这些技术有助于提高CHC可满足性工具的有效性。最后,我们讨论了应用这些技术的未来发展。

MSC公司:

68N17号 逻辑编程
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Albarghouthi,A.2017年。概率Horn子句验证。在SAS 2017中。LNCS 10422。施普林格,1-22·Zbl 1420.68059号
[2] Albert,E.、Arenas,P.、Genaim,S.和Puebla,G.2011。静态成本分析中的闭式上界。《自动推理杂志》46,2,161-203·Zbl 1213.68200号
[3] Albert,E.、Arenas,P.、Genaim,S.、Puebla,G.和Zanardini,D.2007。Java字节码的成本分析。在2007年员工持股计划中。LNCS 4421。施普林格,157-172·Zbl 1236.68042号
[4] Albert,E.、Arenas,P.、Genaim,S.、Puebla,G.和Zanardini,2008年2月。删除Java字节码成本分析中无用的变量。在ACM SAC-软件验证跟踪(SV 2008)中。ACM出版社,368-375。
[5] Albert,E.,Arenas,P.和Gómez-Zamalloa,M.2018。演员系统的系统测试。软件测试、验证和可靠性28,3,e1661·Zbl 1471.68050号
[6] Albert,E.、Gómez-Zamalloa,M.和Puebla,G.,2010年。PET:一个基于部分评估的Java字节码测试用例生成工具。2010年《政治公众人物》。ACM出版社,25-28。
[7] Alberti,F.、Ghilardi,S.和Sharygina,N.,2015年。平面阵列属性的决策程序。《自动推理杂志》54,4,327-352·Zbl 1356.03049号
[8] Amaral,C.、Florido,M.和Costa,V.S.,2014年。PrologCheck—Prolog中基于属性的测试。2014年第12次FLOPS。LNCS 8475。施普林格,1-17。
[9] Apt,K.R.1990年。逻辑编程入门。在《理论计算机科学手册》中,J.van Leeuwen,爱思唯尔出版社,493-576·Zbl 0900.68136号
[10] Apt,K.R.和Bol,R.N.1994。逻辑编程与否定:一项调查。逻辑编程杂志19,20,9-71·Zbl 0942.68518号
[11] Bagnara,R.、Hill,P.M.和Zaffanella,E.2008。帕尔马多面体图书馆:为硬件和软件系统的分析和验证提供一套完整的数字抽象。《计算机程序设计科学》72,1-2,3-21。
[12] Bancilhon,F.、Maier,D.、Sagiv,Y.和Ullman,J.1986。魔术集和其他实现逻辑程序的奇怪方法(扩展抽象)。第五届ACM SIGMOD-SIGACT数据库系统原理研讨会,1985年。ACM出版社,1-15。
[13] Banda,G.和Gallagher,J.P.,2009年。CLP中线性混合系统的分析。在LOPSTR 2008中。LNCS 5438。施普林格,55-70·Zbl 1185.68406号
[14] Barbuti,R.和Giacobazzi,R.1992。逻辑编程中的自下而上多态类型推理。计算机程序设计科学19,281-313·Zbl 0774.68024号
[15] Barnett,M.、Chang,B.-Y.E.、De Line,R.、Jacobs,B.和Leino,K.R.M.2006。Boogie:面向对象程序的模块化可重用验证器。在组件和对象的形式化方法中。LNCS 4111。施普林格,364-387。
[16] Barras,B.,Boutin,S.,Cornes,C.,Courant,J.,Filliátre,J.-C.,Gimenez,E.,Herbelin,H.,Huet,G.,Munoz,C.,Murthy,C.,Parent,C.,Paulin-Mohring,C.,Saibi,A.和Werner,B.1997。Coq Proof Assistant参考手册:6.1版。技术代表RT-0203。https://hal.inia.fr/inia-00069968
[17] Barrett,C.、Conway,C.L.、Deters,M.、Hadarean,L.、Jovanovic,D.、King,T.、Reynolds,A.和Tinelli,C.2011。CVC4.2011年CAV。LNCS 6806。施普林格,171-177。
[18] Barrett,C.、Fontaine,P.和Tinelli,C.2016年。可满足性模理论库(SMT-LIB)。网址:www.SMT-LIB.org
[19] Barrett,C.W.和Tinelli,C.2018。可满足性模理论。在《模型检查手册》中,E.M.Clarke等人,Eds.Springer,305-343·Zbl 1392.68379号
[20] Barthe,G.、Crespo,J.M.和Kunz,C.2011。使用产品程序进行关系验证。2011年FM。LNCS第6664页。斯普林格,200-214。
[21] Basold,H.、Komendantskaya,E.和Li,Y.2019。统一引言:Horn从句的共同草书证明搜索基础。2019年员工持股计划。LNCS 11423。施普林格,783-813。
[22] Benoy,F.和King,A.1997。用CLP(R)推断参数大小关系。在1996年的LOPSTR中。LNCS 1207。施普林格,204-223。
[23] 本顿,N.2004。静态分析和程序转换的简单关系正确性证明。在POPL 2004中。ACM出版社,14-25·Zbl 1325.68057号
[24] Beyene,T.A.、Popeea,C.和Rybalchenko,A.2013。解决存在量化的horn子句。2013年CAV。LNCS 8044。施普林格,869-882。
[25] Björner,N.、Gurfinkel,A.、Mcmillan,K.L.和Rybalchenko,A.2015。用于程序验证的Horn子句求解器。逻辑与计算领域II——尤里·古雷维奇的论文。LNCS 9300。施普林格,24-51·Zbl 1465.68044号
[26] Blanchet,B.2016年。使用应用pi演算和ProVerif对安全协议进行建模和验证。隐私和安全的基础和趋势1,1-2,1-135。
[27] Blazy,S.和Leroy,X.2009。C语言Clight子集的机械化语义。《自动推理杂志》43,3263-288·Zbl 1185.68136号
[28] Borraleras,C.、Lucas,S.、Oliveras,A.、Rodrguez-Carbonell,E.和Rubio,A.2012。求解多项式约束的SAT模线性算法。《自动推理杂志》48,1,107-131·Zbl 1243.68210号
[29] Bradley,A.R.2011年。基于SAT的模型检查,无需展开。在VMCAI 2011中。LNCS 6538。施普林格,70-87·Zbl 1317.68109号
[30] Bradley,A.R.和Manna,Z.2007。计算微积分。斯普林格·Zbl 1126.03001号
[31] Brain,M.、D’Silva,V.、Griggio,A.、Haller,L.和Kroening,D.2014。使用抽象冲突驱动的子句学习来决定浮点逻辑。系统设计中的形式化方法45,2,213-245·Zbl 1317.68110号
[32] Brough,D.R.和Hogger,C.J.,1991年。逻辑程序的语法相关转换。新一代计算9,1,115-134·Zbl 0722.68019号
[33] Brummayer,R.和Biere,A.2009年。Boolector:位向量和数组的高效SMT解算器。在TACAS 2009中。LNCS 5505。施普林格,174-177年。
[34] Bueno,F.、Deransart,P.、Drabent,W.、Ferrand,G.、Hermenegildo,M.、Maluszynski,J.和Puebla,G.1997年。语义近似在约束逻辑程序验证和诊断中的作用。第三次自动调试研讨会-AADEBUG 1997。林雪平大学出版社,瑞典林雪平,155-170。
[35] Bulyonkov,M.A.1984。分析器程序的多元混合计算。信息学报21,473-484·Zbl 0544.68005号
[36] 邦迪,A.2001。数学归纳法证明的自动化。在《自动推理手册》(I)中,Robinson,A.和Voronkov,A.,Eds.North Holland,845-911·兹比尔0994.03007
[37] Burn,T.C.、Ong,C.L.和Ramsay,S.J.,2018年。用于验证的高阶约束Horn子句。《美国计算机学会程序设计语言2会议录》,POPL 2018,11:1-11:28。
[38] Burstall,R.M.和Darlington,J.1977年。用于开发递归程序的转换系统。ACM期刊24,1,44-67·Zbl 0343.68014号
[39] Casso,I.、Morales,J.F.、López-Garca,P.和Hermenegildo,M.2019。Prolog中基于断言的随机测试的集成方法。2019年洛普斯特。LNCS 12042。斯普林格,159-176·Zbl 1502.68061号
[40] Champion,A.,Chiba,T.,Kobayashi,N.和Sato,R.2020。用于高阶函数程序的基于ICE的精化类型发现。《自动推理杂志》64,7,1393-1418·Zbl 1468.68059号
[41] Chen,J.、Wei,J.,Feng,Y.、Bastani,O.和Dillig,I.2019。使用强化学习进行关系验证。美国计算机学会程序设计语言会议录3,OOPSLA,141:1-141:30。
[42] 丘吉尔,B.R.,帕顿,O.,沙玛,R.和艾肯,A.2019。用于等价检查的语义程序对齐。2019年PLDI。ACM出版社,1027-1040。
[43] 乔切克,E.,巴特,G.,加博阿迪,M.,加格,D.和霍夫曼,J.2017。关系成本分析。2017年POPL。ACM出版社,316-329·Zbl 1380.68118号
[44] Cimatti,A.、Griggio,A.、Schaafsma,B.和Sebastiani,R.2013。MathSAT5 SMT求解器。在TACAS 2013中。LNCS 7795。施普林格,93-107·Zbl 1381.68153号
[45] Claessen,K.和Hughes,J.2000。QuickCheck:用于随机测试Haskell程序的轻量级工具。在ICFP 2000中。ACM出版社,268-279。
[46] 克拉克,K.L.1978。否定为失败。《逻辑和数据库》,Gallaire,H.和Minker,J.,编辑:Plenum出版社,纽约,293-322。
[47] Clarke,E.、Grumberg,O.、Jha,S.、Lu,Y.和Veith,H.2003。用于符号模型检查的反例引导的抽象精化。美国医学会杂志50,5752-794·Zbl 1325.68145号
[48] Clarke,E.M.、Grumberg,O.和Peled,D.1999。模型检查。麻省理工学院出版社·兹比尔1423.68002
[49] Codish,M.、Bruynooghe,M.,Garca De La Banda,M.和Hermenegildo,M.1997。在逻辑程序分析中利用目标独立性。逻辑编程杂志32,3,247-261·Zbl 0883.68027号
[50] Codish,M.、Dams,D.和Yardeni,E.1994。逻辑程序的自底向上抽象解释。理论计算机科学124,93-125·Zbl 0795.68038号
[51] Codish,M.和Demoen,B.1995。使用“PROP”(位置逻辑程序和魔术棒)分析逻辑程序。逻辑编程杂志25,3,249-274·Zbl 0871.68049号
[52] 科尔梅劳尔,A.1982。Prolog和无限树。在逻辑编程中,Clark,K.L.和Tärnlund,S.-O。,编辑:学术出版社,231-251。
[53] Coppit,D.、Le,W.、Sullivan,K.J.、Khurshid,S.和Yang,J.2005。通过有限的详尽测试进行软件保证。IEEE软件工程学报31,4,328-339。
[54] Corsini,M.-M.,Musumbu,K.,Rauzy,A.和Le Charlier,B.1994。通过符号有限域上的约束求解对Prolog进行自底向上的高效抽象解释。在PLILP 1993中。LNCS 714。施普林格,75-91·Zbl 0797.68028号
[55] 库索特P.和库索特R.1977。抽象解释:通过构造不动点近似值对程序进行静态分析的统一格模型。在POPL 1977中。ACM出版社,238-252。
[56] 库索特P.和库索特R.1992。比较伽罗瓦联系和扩大/缩小抽象解释的方法。1992年PLILP。LNCS 631。施普林格,269-295·Zbl 0776.68024号
[57] Cousot,P.和Halbwachs,N.1978。程序变量之间线性约束的自动发现。1978年的POPL。ACM出版社,84-96。
[58] Craig,S.-J.和Leuschel,M.2003。约束逻辑程序的编译器生成器。在PSI 2003中。LNCS第2890页。施普林格,148-161。
[59] 克雷格,W.1957。Herbrand-Gentzen定理在关联模型理论和证明理论中的三个应用。符号逻辑杂志22,3,269-285·Zbl 0079.24502号
[60] Cui,B.和Warren,D.S.2000。表约束逻辑程序设计系统。在计算逻辑2000中。LNCS 1861。施普林格,478-492·Zbl 0983.68600号
[61] De Angelis,E.、Fioravanti,F.、Meo,M.C.、Pettorossi,A.和Proietti,M.2019。时间感知业务流程的语义和可控性。《基础信息》165,205-244·Zbl 1412.68148号
[62] De Angelis,E.、Fioravanti,F.、Palacios,A.、Pettorossi,A.和Proietti,M.2019。免费的基于属性的测试用例生成器。在测试和证明中-FM时的TAP2019LNCS 11823。施普林格,186-206年。
[63] De Angelis,E.、Fioravanti,F.、Pettorosi,A.和Proietti,M.2014a。通过迭代专门化进行程序验证。《计算机编程科学》95,第2部分,149-175。
[64] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2014b。VeriMAP:通过转换验证程序的工具。在TACAS 2014中。LNCS 8413。施普林格,568-574。
[65] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.,2015年。通过程序专门化基于语义的验证条件生成。在PPDP 2015中。ACM出版社,91-102。
[66] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.,2016年。通过Horn子句转换进行关系验证。在SAS 2016中。LNCS 9837。斯普林格,147-169·Zbl 1394.68227号
[67] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2017a。谓词配对与抽象用于关系验证。2017年LOPSTR。LNCS 10855。施普林格,289-305·Zbl 1508.68058号
[68] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2017b。通过程序专门化基于语义的验证条件生成。计算机编程科学147,78-108。
[69] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2018a。用于程序验证的谓词配对。逻辑程序设计的理论与实践18,2,126-166·Zbl 1478.68153号
[70] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2018b。在没有归纳法的情况下解决归纳数据类型上的Horn子句。逻辑程序设计的理论与实践18,3-4,452-469·Zbl 1451.68172号
[71] De Angelis,E.、Fioravanti,F.、Pettorossi,A.和Proietti,M.2020。使用差异谓词从约束Horn子句中删除代数数据类型。IJCAR 2020年。人工智能讲义12166。施普林格,83-102·Zbl 07614508号
[72] De Moura,L.M.和Björner,N.2008。Z3:高效的SMT求解器。在TACAS 2008中。LNCS 4963。施普林格,337-340。
[73] De Schreye,D.、Glück,R.、Jörgensen,J.、Leuschel,M.、Martens,B.和Sörensen,M.H.1999。关联部分演绎:基础、控制、算法和实验。《逻辑编程杂志》41,2-3,231-277·Zbl 0944.68025号
[74] Debray,S.和Ramakrishnan,R.1994。使用魔术变换对逻辑程序进行抽象解释。《逻辑编程杂志》18,149-176·兹伯利0795.68037
[75] Debray,S.K.和Lin,N.W.,1993年。逻辑程序的成本分析。美国计算机学会程序设计语言与系统汇刊15,5,826-875。
[76] Debray,S.K.,Lin,N.-W.和Hermenegildo,M.1990。逻辑程序中的任务粒度分析。1990年ACM PLDI。ACM出版社,174-188。
[77] Debray,S.K.、López-García,P.、Hermenegildo,M.和Lin,N.-W.1997。逻辑程序的下限成本估算。1997年逻辑程序设计国际研讨会。麻省理工学院出版社,291-305。
[78] Delzanno,G.和Podelski,A.1999。CLP中的模型检查。在TACAS 1999中。LNCS 1579。施普林格,223-239。
[79] Delzanno,G.和Podelski,A.2001。基于约束的演绎模型检查。国际技术转让软件工具杂志3,3,250-270·Zbl 0991.68013号
[80] Demyanova,Y.、Rümmer,P.和Zuleger,F.2017。使用可变角色的系统谓词抽象。在美国国家航空航天局的正式方法。施普林格国际出版公司,265-281。
[81] Doménech,J.J.、Gallagher,J.P.和Genaim,S.2019。通过部分评估对控制流进行细化,并将其应用于终止和成本分析。逻辑程序设计理论与实践19,5-6,990-1005·Zbl 1434.68104号
[82] Donzeau Gouge,V.、Huet,G.、Kahn,G.和Lang,B.1984。基于结构化编辑器的编程环境:MENTOR体验。在交互式编程环境中。麦格劳·希尔,128-140。
[83] Dutertre,B.2014。Yices 2.2。2014年CAV。LNCS 8559。施普林格,737-744。
[84] Een,N.、Mishchenko,A.和Brayton,R.2011。高效实现面向属性的可达性。计算机辅助设计形式方法FMCAD,125-134。
[85] Enderton,H.1972年。逻辑数学导论。纽约学术出版社·Zbl 0298.0202号
[86] Esparza,J.、Kiefer,S.和Luttenberger,M.2010。牛顿程序分析。美国医学会杂志57,6,33·Zbl 1327.68079号
[87] Etalle,S.和Gabbrielli,M.1996。CLP模块的转换。理论计算机科学166,101-146·Zbl 0872.68021号
[88] Fedyukovich,G.、Zhang,Y.和Gupta,A.2018。句法引导终止分析。在CAV 2018中,第一部分LNCS 10981。施普林格,124-143·Zbl 1511.68076号
[89] Felsing,D.、Grebing,S.、Klebanov,V.、Rümmer,P.和Ulbrich,M.,2014年。自动化回归验证。ASE 2014年。ACM出版社,349-360。
[90] Filliâtre,J.C.和Paskevich,A.2013。Why3-程序遇到证明者的地方。在2013年员工持股计划中。LNCS 7792。施普林格,125-128·Zbl 1435.68366号
[91] Fioravanti,F.、Pettorossi,A.、Proietti,M.和Senni,V.2013。控制基于专业化的验证的多元方差。《基础信息》124、4、483-502·Zbl 1268.68110号
[92] Fioravanti,F.、Pettorossi,A.和Proietti,M.2001a。专门化约束逻辑程序的自动化策略。在LOPSTR 2000中。LNCS 2042。施普林格,125-146·Zbl 1018.68502号
[93] Fioravanti,F.、Pettorosi,A.和Proietti,M.2001b。通过专门化约束逻辑程序验证无限状态系统的CTL属性。在2001年ACM VCL研讨会上。技术报告DSSE-TR-2001-3。英国南安普顿大学,85-96。
[94] Fioravanti,F.、Pettorossi,A.和Proietti,M.2004。局部分层约束逻辑程序的转换规则。在计算逻辑程序开发中。LNCS 3049。施普林格,292-340·Zbl 1080.68010号
[95] Fioravanti,F.、Pettorossi,A.、Proietti,M.和Senni,V.2012。通过专门化改进无限状态系统的可达性分析。《基础信息》119、3-4、281-300·Zbl 1279.68209号
[96] Fioravanti,F.、Pettorossi,A.、Proietti,M.和Senni,V.2013a。无限状态系统验证的推广策略。逻辑程序设计理论与实践13,2,175-199·Zbl 1267.68080号
[97] Fioravanti,F.、Pettorossi,A.、Proietti,M.和Senni,V.2013b。通过程序变换证明定理。《基础信息》127、1-4、115-134·Zbl 1315.03019号
[98] Fioravanti,F.、Proietti,M.和Senni,V.2015。使用约束逻辑编程和程序转换高效生成测试数据结构。逻辑与计算杂志25,6,1263-1283·Zbl 1328.68041号
[99] Flanagan,C.和Godefroid,P.2005。模型检测软件的动态部分阶降阶。在POPL 2005中。ACM出版社,110-121·Zbl 1369.68135号
[100] 弗里堡,L.和奥尔森,H.1997。使用Z计数器计算数据日志程序的最小不动点的分解方法。约束条件2、3/4、305-335·Zbl 0889.68025号
[101] Frühwirth,T.1998年。约束处理规则的理论与实践。《逻辑编程杂志》37,1,95-138·Zbl 0920.68029号
[102] Futamura,Y.1971年。计算过程的部分评估–编译器编译器的一种方法。系统、计算机、控制2(5),45-50。
[103] Gallagher,J.P.1993年。逻辑程序专业化教程。1993年《政治公众人物》。ACM出版社,88-98。
[104] Gallagher,J.P.,Boulanger,D.和Saálam,H.1995。确定逻辑程序的实用基于模型的静态分析。在逻辑程序设计国际研讨会上,麻省理工学院出版社,351-365。
[105] Gallagher,J.P.和De Waal,D.A.1994。逻辑程序的快速精确正则近似。在第11届国际逻辑编程会议上,麻省理工学院出版社,599-613。
[106] Gallagher,J.P.、Hermenegildo,M.、Kafle,B.、Klemen,M.,López-García,P.和Morales,J.F.2020。从大步骤到小步骤语义,再到解释器专业化。2020年VPT。理论计算机科学电子论文集320,50-64·Zbl 07453190号
[107] Gange,G.、Navas,J.、Schachte,P.、Söndergaard,H.和Stuckey,P.,2013年。通过插值进行故障表约束逻辑编程。逻辑程序设计的理论与实践13,4-5,593-607·兹比尔1286.68043
[108] Gange,G.、Navas,J.A.、Schachte,P.、Söndergaard,H.和Stuckey,P.J.,2015年。Horn子句作为程序分析和转换的中间表示。逻辑程序设计理论与实践15,4-5,526-542·Zbl 1379.68089号
[109] 加西亚·孔特雷拉斯(García-Contreras,I.)、莫拉莱斯(Morales,J.F.)和赫尔梅内吉尔多(Hermenegildo,M.2020a)。使用断言和开放谓词对逻辑程序进行增量分析。2019年洛普斯特。LNCS 12042。施普林格,36-56·Zbl 1502.68065号
[110] 加西亚·孔特雷拉斯(García-Contreras,I.)、莫拉莱斯(Morales,J.F.)和赫尔梅内吉尔多(Hermenegildo,M.2020b)。增量和模块化上下文敏感分析。逻辑程序设计理论与实践(待发表)。
[111] Garca De La Banda,M.和Hermenegildo,M.1993。一种对约束逻辑程序进行全局分析的实用方法。在逻辑编程研讨会上,麻省理工学院出版社,437-455。
[112] 加尔卡·德拉班达(Garca De La Banda,M.)、赫尔梅内吉尔多(Hermenegildo,M。约束逻辑程序的全局分析。美国计算机学会程序设计语言与系统汇刊18,5,564-615。
[113] Giannotti,F.和Hermenegildo,M.1991。递归不变性检测和选择性程序专门化技术。1991年PLILP。LNCS 528。施普林格,323-335。
[114] Godefroid,P.、Klarlund,N.和Sen,K.2005。DART:指导自动化随机测试。在PLDI 2005中。ACM出版社,213-223。
[115] Godlin,B.和Strichman,O.2008。证明递归过程等价性的推理规则。信息学报45,6,403-439·Zbl 1161.68013号
[116] Goguen,J.A.和Meseguer,J.1982。安全策略和安全模型。1982年IEEE安全与隐私研讨会。11-20.
[117] Gómez-Zamalloa,M.、Albert,E.和Puebla,G.2009。通过部分求值将Java字节码分解为Prolog。信息与软件技术51,10,1409-1427。
[118] Gómez-Zamalloa,M.,Albert,E.和Puebla,G.,2010年。CLP中面向对象命令式语言的测试用例生成。逻辑程序设计理论与实践10,4-6,659-674·Zbl 1209.68093号
[119] Gotlieb,A.、Botella,B.和Rueher,M.1998。使用约束求解技术自动生成测试数据。在ACM软件测试与分析研讨会上。ACM出版社,53-62。
[120] Graf,S.和Saídi,H.1997。用PVS构造抽象状态图。1997年CAV。LNCS 1254。施普林格,72-83。
[121] Grebenshchikov,S.、Lopes,N.P.、Popeea,C.和Rybalchenko,A.2012。根据证明规则合成软件验证器。2012年PLDI。ACM出版社,405-416。
[122] Grishchenko,I.、Maffei,M.和Schneidewind,C.2018。以太坊智能合约静态分析的基础和工具。在CAV 2018中,第一部分LNCS 10981。施普林格,51-78。
[123] Gulwani,S.、Jain,S.和Koskinen,E.2009。边界分析的控制流精化和过程不变量。在PLDI 2009中。ACM出版社,375-385。
[124] Gupta,G.、Bansal,A.、Min,R.、Simon,L.和Mallya,A.2007。共导逻辑编程及其应用。在ICLP 2007中。LNCS 4670。施普林格,27-44·Zbl 1213.68177号
[125] Gurfinkel,A.、Kahsai,T.、Komuravelli,A.和Navas,J.A.2015。SeaHorn验证框架。2015年CAV。LNCS 9206。施普林格,343-361。
[126] Hamza,J.、Voirol,N.和Kunčak,V.2019。系统FR:不锈钢验证器的正式基础。美国计算机学会程序设计语言会议录3,OOPSLA,166:1-166:30。
[127] Heizmann,M.、Hoenicke,J.和Podelski,A.2009。改进跟踪抽象。在SAS 2009中。LNCS 5673。施普林格,69-85·Zbl 1248.68146号
[128] Henriksen,K.S.和Gallagher,J.P.2006年。通过逻辑编程对PIC程序进行抽象解释。在SCAM 2006中。IEEE计算机学会,184-196。
[129] Hermenegildo,M.、Bueno,F.、Carro,M.,López-García,P.、Mera,E.、Morales,J.F.和Puebla,G.2012。Ciao及其设计理念概述。逻辑程序设计的理论与实践12,1-2,219-252·兹伯利1244.68019
[130] Hermenegildo,M.、Puebla,G.和Bueno,F.1999。使用全局分析、部分规范和可扩展断言语言进行程序验证和调试。《逻辑编程范式:25年展望》。施普林格,161-192年·Zbl 0979.68554号
[131] Hermenegildo,M.、Puebla,G.、Bueno,F.和López-García,P.2005。使用抽象解释(和Ciao系统预处理器)集成程序调试、验证和优化。计算机编程科学58,1-2,115-140·Zbl 1076.68540号
[132] Hermenegildo,M.、Puebla,G.、Marriott,K.和Stuckey,P.2000。约束逻辑程序的增量分析。ACM托普拉斯22、2、187-223。
[133] Hermenegildo,M.、Warren,R.和Debray,S.K.1992。作为实用编译工具的全局流分析。逻辑编程杂志13,4,349-367。
[134] Hoare,C.A.R.1969年。计算机编程的公理基础。ACM通信12,10,576-580,583·兹标0179.23105
[135] Hoder,K.和Björner,N.2012。广义属性定向可达性。2012年SAT。LNCS 7317。施普林格,157-171·兹比尔1273.68229
[136] Hojjat,H.和Rümmer,P.2018。ELDARICA Horn解决方案。2018年计算机辅助设计中的形式方法。IEEE,1-7。
[137] 雅各布斯,D.,兰根,A.和温斯伯勒,W.1990。具有运行时测试的逻辑程序的多种专业化。在逻辑程序设计国际会议上。麻省理工学院出版社,718-731。
[138] Jaffar,J.1984年。无限项上的有效统一。新一代。计算。2, 3, 207-219.
[139] Jaffar,J.和Lassez,J.-L.1987。约束逻辑编程。在POPL 1987中。ACM出版社,111-119。
[140] Jaffar,J.和Maher,M.1994年。约束逻辑编程:一项调查。《逻辑编程杂志》19/20503-581。
[141] Jaffar,J.、Maher,M.、Marriott,K.和Stuckey,P.1998。约束逻辑程序的语义。《逻辑编程杂志》37,1-46·Zbl 0920.68068号
[142] Jaffar,J.、Michaylov,S.、Stuckey,P.J.和Yap,R.H.C.1992。CLP(R)语言和系统。美国计算机学会程序设计语言与系统汇刊14,3,339-395。
[143] Jaffar,J.、Murali,V.、Navas,J.A.和Santosa,A.E.2012。TRACER:用于验证的符号执行工具。2012年CAV。LNCS 7358。斯普林格,758-766·Zbl 1478.68164号
[144] Jaffar,J.、Santosa,A.和Voicu,R.2009。CLP遍历的一种插值方法。在CP 2009中。LNCS 5732。施普林格,454-469。
[145] Jaffar,J.、Santosa,A.E.和Voicu,R.2004。一种用于时间自动机的CLP证明方法。在IEEE实时系统研讨会上。IEEE计算机学会,175-186。
[146] Jeannet,B.和Miné,A.2009。围裙:用于静态分析的数值抽象域库。在CAV 2009中。LNCS 5643。施普林格,661-667。
[147] Jhala,R.和Majumdar,R.2009。软件模型检查。ACM计算调查41,4,21:1-21:54·Zbl 1507.68188号
[148] Jones,N.D.、Gomard,C.K.和Sestoft,P.1993。部分评估和自动程序生成。普伦蒂斯·霍尔·兹伯利0875.68290
[149] Jovanovic,D.和De Moura,L.2012。求解非线性算法。2012年国际JCAR。LNCS 7364。施普林格,339-354·Zbl 1358.68257号
[150] Kafle,B.和Gallagher,J.P.2017a。Horn子句验证中的约束专业化。计算机程序设计科学137,125-140。
[151] Kafle,B.和Gallagher,J.P.2017b。使用凸多面体抽象和基于树自动机的细化进行Horn子句验证。计算机语言、系统和结构47,2-18·Zbl 1379.68239号
[152] Kafle,B.、Gallagher,J.P.、Gange,G.、Schachte,P.、Söndergaard,H.和Stuckey,P.J.,2018年。使用约束Horn子句进行前提推理的迭代方法。逻辑程序设计的理论与实践18,3-4,553-570·Zbl 1451.68075号
[153] Kafle,B.、Gallagher,J.P.和Ganty,P.2018。约束Horn子句验证中的树维度。逻辑程序设计的理论与实践18,2,224-251·Zbl 1478.68165号
[154] Kafle,B.、Gallagher,J.P.和Morales,J.F.,2016年。RAHFT:使用抽象解释和有限树自动机验证Horn子句的工具。在CAV 2016,第一部分LNCS 9779。施普林格,261-268。
[155] 卡恩,G.1987。自然语义。LNCS 247号。施普林格,22-39岁·兹比尔0635.68007
[156] Kahsai,T.、Rümmer,P.、Sanchez,H.和Schäf,M.2016。JayHorn:验证Java程序的框架。在CAV 2016中,第一部分LNCS 9779。施普林格,352-358。
[157] Kalra,S.、Goel,S.,Dhawan,M.和Sharma,S.2018。宙斯:分析智能合约的安全性。在第25届网络和分布式系统安全研讨会上,互联网协会,1-15。
[158] 卡纳莫里,T.1993。基于Alexander模板的抽象解释。《逻辑编程杂志》15,1&2,31-54·Zbl 0787.68020号
[159] Kelly,A.、Marriott,K.、Söndergaard,H.和Stuckey,P.1998。一个实用的面向对象CLP分析引擎。软件:实践与经验28,2,188-224。
[160] Khedker,U.P.和Karkare,B.2008。过程间数据流分析中的效率、准确性、简单性和通用性:恢复经典的调用字符串方法。在CC 2008中。LNCS 4959。施普林格,213-228。
[161] Kimmig,A.、Demoen,B.、Raedt,L.D.、Costa,V.S.和Rocha,R.2011。概率逻辑程序设计语言ProbLog的实现。逻辑程序设计理论与实践11,2-3,235-262·Zbl 1220.68037号
[162] Kirkeby,M.H.2019年。确定性程序的概率输出分析-重用现有的非概率分析。理论计算机科学电子论文集312,43-57。
[163] Klemen,M.、Stulova,N.、López-García,P.、Morales,J.F.和Hermenegildo,M.2018。带有运行时检查的程序的静态性能保证。2018年PPDP。ACM出版社,1-13。
[164] Komuravelli,A.、Gurfinkel,A.和Chaki,S.2016。递归程序的基于SMT的模型检查。系统设计中的形式方法48,3,175-205·Zbl 1358.68072号
[165] Komuravelli,A.、Gurfinkel,A.、Chaki,S.和Clarke,E.M.,2013年。基于SMT的无界软件模型检查中的自动抽象。2013年CAV。LNCS 8044。施普林格,846-862。
[166] Kowalski,R.和Kuehner,D.1971年。具有选择功能的线性分辨率。人工智能227-260·Zbl 0234.68037号
[167] Lahiri,S.K.、Mcmillan,K.L.、Sharma,R.和Hawblitzel,C.2013。差异断言检查。ESEC/FSE 2013。ACM出版社,345-355。
[168] Le Charlier,B.和Van Hentenryck,P.1994。Prolog通用抽象解释算法的实验评估。ACM托普拉斯16、1、35-101。
[169] Leavens,G.T.、Baker,A.L.和Ruby,C.2006。JML的初步设计:一种Java行为接口规范语言。软件工程注释31、3、1-38。
[170] Leino,K.R.M.,2013年。与Dafny开发验证程序。在2013年国际软件工程会议上。IEEE出版社,1488-1490。
[171] Leroy,X.、Doligez,D.、Frisch,A.、Garrigue,J.、Rémy,D.和Vouillon,J.2017。OCaml系统,4.06版。文件和用户手册,法国国家信息与自动化研究所。
[172] Leuschel,M.和Bruynooghe,M.2002。通过部分演绎实现逻辑程序专业化:控制问题。逻辑程序设计理论与实践2,4&5,461-515·Zbl 1105.68331号
[173] Leuschel,M.和De Schreye,D.1998年。约束部分演绎和特征树的保存。新一代计算16,3,283-342。
[174] Leuschel M.、Elphick D.、Varea M.、Craig S.和Fontaine M.,2006年。Ecce和Logen部分评估器及其web界面。在2006年政治公众人物大会上。ACM出版社,88-94。
[175] Leuschel,M.和Lehmann,H.2000。通过部分演绎实现重置Petri网和其他结构良好的转移系统的覆盖性。在CL 2000中。1861年人工智能课堂讲稿。施普林格,101-115·Zbl 0983.68135号
[176] Leuschel,M.、Martens,B.和De Schreye,D.1998。控制常规逻辑程序部分演绎中的泛化和多元方差。美国计算机学会编程语言与系统汇刊20,1208-258。
[177] Leuschel,M.和Massart,T.2000。通过抽象解释和程序专业化进行无限状态模型检查。LOPSTR 1999年。LNCS 1817。施普林格,63岁-82岁·Zbl 0964.68086号
[178] Leuschel,M.和Sörensen,M.H.1996。逻辑程序的冗余参数过滤。LOPSTR 1996年。LNCS 1207。施普林格,83-103。
[179] Leuschel,M.和Vidal,G.2005。通过合取部分演绎和参数过滤进行前向切片。2005年ESOP。LNCS 3444。施普林格,61-76·Zbl 1108.68424号
[180] Liang,T.、Reynolds,A.、Tsiskaridze,N.、Tinelli,C.、Barrett,C.W.和Deters,M.2016。字符串约束的高效SMT解算器。系统设计中的形式化方法48,3,206-234·Zbl 1404.68135号
[181] Liqat,U.、Georgiou,K.、Kerrison,S.、López-García,P.、Hermenegildo,M.、Gallagher,J.P.和Eder,K.2016。推断不同软件级别的参数能耗函数:ISA与LLVM IR。FOPARA 2015。LNCS 9964。施普林格,81-100。
[182] Liqat,U.、Kerrison,S.、Serrano,A.、Georgiou,K.、López-GarcíA,P.、Grech,N.、Hermenegildo,M.和Eder,K.2014。基于XMOS ISA级模型的程序能耗分析。2013年LOPSTR。LNCS 8901。施普林格,72岁至90岁。
[183] 劳埃德,J.1987。逻辑编程基础。施普林格。第2扩展版·Zbl 0668.68004号
[184] Lloyd,J.W.和Shepherdson,J.C.1991。逻辑编程中的部分求值。逻辑编程杂志11,217-242·Zbl 0741.68030号
[185] Lopes,N.P.和Monteiro,J.,2016年。具有未解释函数和整数算法的程序的自动等价性检查。国际技术转让软件工具杂志18,4,359-374。
[186] López-García,P.,Darmawan,L.,Bueno,F.和Hermenegildo,M.2012。基于间隔的资源使用验证:形式化和原型。在FOPARA 2011中。LNCS 7177。施普林格,54-71·Zbl 1367.68067号
[187] López-García,P.、Darmawan,L.、Klemen,M.、Liqat,U.、Bueno,F.和Hermenegildo,M.2018。通过翻译成Horn子句和能源消耗应用程序进行基于时间间隔的资源使用验证。逻辑程序设计理论与实践18,2,167-223·Zbl 1478.68170号
[188] López-García,P.、Haemmerlé,R.、Klemen,M.、Liqat,U.和Hermenegildo,M.2015。通过静态分析进行能耗验证。HIP3ES车间。arXiv:1512.09369·Zbl 1475.68087号
[189] López-García,P.,Klemen,M.,Liqat,U.和Hermenegildo,M.2016。用于静态分析参数资源使用情况的通用框架。逻辑程序设计的理论与实践16,5-6,849-865·Zbl 1379.68097号
[190] Madhusudan,P.、Parlato,G.和Qiu,X.2011。结合堆结构和数据的可决定逻辑。在POPL 2011中。ACM出版社,611-622·Zbl 1284.68411号
[191] Marriott,K.和Söndergaard,H.1988。逻辑程序的自底向上抽象解释。在逻辑编程会议和研讨会上。麻省理工学院出版社,733-748。
[192] Martens,B.和Gallagher,J.P.1995。确保部分扣除的全局终止,同时允许灵活的多元方差。在ICLP 1995中。麻省理工学院出版社,597-611。
[193] Matiyasevich,J.V.1970。可枚举集是丢番图。Doklady Akademii Nauk SSSR 191、279-282。英语:《苏维埃数学-Doklady》,11(1970),354-357·Zbl 0212.33401号
[194] Mcmillan,K.L.2013。逻辑是软件验证的通用语言。受邀在意大利罗马举行的2013年VMCAI会议上发表演讲。幻灯片位于https://studylib.net/doc/9889611/
[195] Mcmillan,K.L.和Rybalchenko,A.2013。使用插值求解约束Horn子句。MSR技术代表2013-6,微软研究院,华盛顿州雷蒙德,美国。
[196] 门德尔森,E.1997。数学逻辑导论。查普曼和霍尔。第4版·Zbl 0915.03002号
[197] Méndez-Lojo,M.,Navas,J.和Hermenegildo,M.2007。一种灵活的(C)基于LP的面向对象程序分析方法。在LOPSTR 2007中。LNCS 4915。施普林格,154-168·Zbl 1179.68030号
[198] 梅斯纳德(Mesnard,F.)、佩耶特(Payet,E..)。和Vidal,G.2020。CLP中的酒精测试。理论与实践。日志。程序。20,5, 671-686. ·Zbl 1468.68055号
[199] 穆代克,C.2001。ATGen:使用约束逻辑编程和符号执行自动生成测试数据。软件测试、验证和可靠性11、2、81-96。
[200] 梅耶,B.1988。面向对象的软件构建。普伦蒂斯大厅。
[201] Monniaux,D.2000。概率语义学的抽象解释。在SAS 2000中。LNCS 1824。施普林格,322-339·兹伯利0966.68111
[202] Mordvinov,D.和Fedyukovich,G.2017年。同步受约束的Horn子句。在LPAR-21中。EPiC计算机系列,第46卷。EasyChair,338-355·Zbl 1403.68243号
[203] Mordvinov,D.和Fedyukovich,G.2019年。关系不变量的属性定向推理。在计算机辅助设计的形式化方法2019。IEEE,152-160。
[204] Muthukumar,K.和Hermenegildo,M.1990。推导逻辑程序自顶向下抽象解释的不动点计算算法。德克萨斯州奥斯汀市MCC技术代表ACT-DC-153-90,邮编78759。
[205] Muthukumar,K.和Hermenegildo,M.1992。使用抽象解释的变量依赖的编译时派生。逻辑编程杂志13,2/3,315-347·Zbl 0776.68032号
[206] Navas,J.、Méndez-Lojo,M.和Hermenegildo,M.2008。Java字节码应用程序能量消耗的安全上限推断。NASA兰利正式方法研讨会,29-32。
[207] Navas,J.、Méndez-Lojo,M.和Hermenegildo,M.2009。Java字节码的用户定义资源使用边界分析。在BYTECODE 2009研讨会上。理论计算机科学电子笔记253,5。爱思唯尔,65-82。
[208] Navas,J.、Mera,E.、López-García,P.和Hermenegildo,M.,2007年。逻辑程序的用户定义资源边界分析。在ICLP 2007中。LNCS 4670。施普林格,348-363。
[209] Nelson,G.和Oppen,D.C.1979。通过合作决策程序进行简化。美国计算机学会程序设计语言与系统汇刊1、2、245-257·Zbl 0452.68013号
[210] 尼尔森,H.R.和尼尔森,F.1992。语义与应用-正式介绍。威利专业计算。威利·兹伯利0875.68626
[211] 尼尔森,美国1995年。抽象解释:一种魔力。理论计算机科学142,1,125-139·Zbl 0873.68046号
[212] Nipkow,T.、Wenzel,M.和Paulson,L.C.2002。Isabelle/HOL:高阶逻辑的证明助手。斯普林格·Zbl 0994.68131号
[213] Ochoa,C.、Puebla,G.和Hermenegildo,M.2006。删除Prolog程序的多变量专门化中多余的版本。在LOPSTR 2005中。LNCS 3901。施普林格,80-97·Zbl 1156.68328号
[214] Peralta,J.C.和Gallagher,J.P.2003。CLP程序专业化中的凸包抽象。LOPSTR 2002年。LNCS 2664。施普林格,90-108·Zbl 1278.68052号
[215] Peralta,J.C.、Gallagher,J.P.和Saglam,H.1998。通过分析约束逻辑程序分析命令式程序。在SAS 1998中。LNCS 1503。施普林格,246-261。
[216] 佩雷斯·卡拉斯科(Pérez-Carrasco,V.)、克莱门(Klemen,M.)、洛佩斯·加西亚(López-García,P.)、莫拉莱斯(Morales,J.F.)和赫尔梅内吉尔多(Hermenegildo,M.2020)。通过参数资源分析对智能合约进行成本分析。SAS 2020年。LNCS 12389。斯普林格。
[217] Pettorossi,A.和Proietti,M.1994。逻辑程序的转换:基础和技术。逻辑编程杂志19-20,261-320·Zbl 0942.68528号
[218] 普罗特金,G.1981。操作语义的结构方法。丹麦奥胡斯大学计算机科学系DAIMI FN-19技术报告。
[219] Proietti,M.和Pettorossi,A.1993。逻辑程序开发和部分演绎的循环吸收和泛化策略。逻辑编程杂志16,1-2,123-161·兹比尔0778.68025
[220] Proietti,M.和Pettorossi,A.1995。按此顺序展开定义,以避免逻辑程序中不必要的变量。理论计算机科学142,1,89-124·Zbl 0873.68023号
[221] Puebla,G.、Albert,E.和Hermenegildo,M.2006年。具有专门定义的抽象解释。在SAS 2006中。LNCS 4134。施普林格,107-126·Zbl 1225.68076号
[222] Puebla,G.、Bueno,F.和Hermenegildo,M.2000。基于静态和动态断言的组合调试约束逻辑程序。LOPSTR 1999年。LNCS 1817。施普林格,273-292·Zbl 0964.68016号
[223] Puebla,G.和Hermenegildo,M.1996。逻辑程序增量分析的优化算法。在SAS 1996中。LNCS 1145。施普林格,270-284·Zbl 1482.68075号
[224] Puebla,G.和Hermenegildo,M.1999。抽象多重专门化及其在程序并行化中的应用。《逻辑编程杂志》41,2&3,279-316·Zbl 0944.68026号
[225] Puebla,G.、Hermenegildo,M.和Gallagher,J.P.,1999年。通用抽象解释框架中的部分评估集成。ACM SIGPLAN PEPM 1999。BRISC系列NS-99-1。丹麦奥胡斯大学,75-85。
[226] Reps,T.W.,Horwitz,S.和Sagiv,S.1995。通过图形可达性进行精确的过程间数据流分析。1995年POPL。ACM出版社,49-61·Zbl 1496.68079号
[227] Reynolds,A.和Kunčak,V.2015。SMT解算器感应。在2015年VMCAI中。LNCS 8931。施普林格,80-98·Zbl 1432.68418号
[228] Rohmer,J.、Lescoeur,R.和Kerisit,J.1986。亚历山大方法-一种在演绎数据库中处理递归公理的技术。新一代计算4,3,273-285·Zbl 0615.68062号
[229] Rosu,G.和Serbanuta,T.2010。K语义框架概述。《逻辑与代数编程杂志》79,6397-434·Zbl 1214.68188号
[230] Roychoudhury,A.、Kumar,K.N.、Ramakrishnan,C.R.和Ramakrishnan,I.V.2002。超越Tamaki-Sato风格,为常规逻辑程序展开/折叠转换。国际计算机科学基础杂志13,3,387-403·Zbl 1066.68016号
[231] Roychoudhury,A.,Kumar,K.N.,Ramakrishnan,C.R.,Ramachrishnan,I.V.和Smolka,S.A.2000。使用逻辑程序转换验证参数化系统。在TACAS 2000中。LNCS 1785。施普林格,172-187·Zbl 0964.68018号
[232] 吕默,P.2020。竞争报告:CHC-COMP-20。技术代表请访问https://chc-comp.github.io/report.pdf ·Zbl 07453201号
[233] 萨林,D.1993。Mixtus:完整Prolog的自动部分求值器。新一代计算12,7-51·Zbl 0942.68516号
[234] 佐藤,T.和卡梅亚,1997年。棱镜:一种符号统计建模语言。1997年第15届IJCAI。摩根·考夫曼(Morgan Kaufmann),1330-1339年。
[235] Schneidewind,C.、Grishchenko,I.、Scherer,M.和Maffei,M.2020。eThor:以太坊智能合约的实用且可靠的静态分析。CCS 2020:ACM计算机和通信安全会议。ACM出版社,621-640。
[236] 施里杰弗,A.1998。线性和整数规划理论。约翰·威利父子公司·兹比尔0970.90052
[237] Seki,H.1991年。分层程序的展开/折叠转换。理论计算机科学86,107-139·Zbl 0737.68016号
[238] Seki,H.2012。通过展开/折叠变换证明协同逻辑程序的属性。2011年LOPSTR。LNCS 7225。施普林格,205-220·Zbl 1377.68066号
[239] Senni,V.和Fioravanti,F.2012。使用约束逻辑编程生成测试数据结构。在测试和证明中。LNCS 7305。斯普林格,115-131。
[240] Serrano,A.、López-GarcíA,P.和Hermenegildo,M.,2014年。通过使用大小类型的抽象解释对逻辑程序进行资源使用分析。逻辑程序设计的理论与实践14,4-5,739-754·Zbl 1307.68022号
[241] Sharir,M.和Pnueli,A.1981。两种过程间数据流分析方法。程序流分析:理论与应用。普伦蒂斯·霍尔,第7章,189-233。
[242] Shemer,R.、Gurfinkel,A.、Shoham,S.和Vizel,Y.2019。以属性为导向的自我组合。CAV 2019,第一部分LNCS 11561。斯普林格,161-179。
[243] 肖恩菲尔德,J.R.1967。数学逻辑。Addison-Wesley出版公司·Zbl 0155.01102号
[244] Spoto,F.、Mesnard,F.和Payet,2010年。一种基于路径长度的Java字节码终止分析器。《美国计算机学会编程语言与系统汇刊》32,3,8:1-8:70。
[245] Suter,P.、Köksal,A.S.和Kunčak,V.2011。模递归程序的可满足性。在SAS 2011中。LNCS 6887。施普林格,298-315。
[246] Tamaki,H.和Sato,T.1984。逻辑程序的展开/折叠转换。1984年ICLP,S。瑞典乌普萨拉乌普萨拉·塔伦隆德教育大学,127-138。
[247] Tärnlund,S.1977年。Horn子句可计算性。位17、2、215-226·Zbl 0359.02042号
[248] 塔斯基,A.1955。格理论不动点定理及其应用。太平洋数学杂志5,285-309·Zbl 0064.26004号
[249] Thakur,M.和Nandivada,V.K.2020。很好地混合上下文:最近在扩展上下文敏感度方面取得的进展带来的机会。在编译器构造会议上。ACM出版社,27-38。
[250] Tsankov,P.、Dan,A.M.、Drachsler-Cohen,D.、Gervais,A.、Bünzli,F.和Vechev,M.T.2018。安全:智能合约的实用安全分析。在ACM计算机和通信安全会议上。ACM出版社,67-82。
[251] Unno,H.、Torii,S.和Sakamoto,H.2017。自动归纳以解决Horn子句。2017年CAV第二部分。LNCS 10427。施普林格,571-591·Zbl 1494.68064号
[252] Verschaetse,K.和De Schreye,D.1992。通过抽象解释推导线性尺寸关系。1992年PLILP。LNCS 631。施普林格,296-310。
[253] Wadler,P.L.1990。森林砍伐:改变计划以消灭树木。理论计算机科学73,231-248·Zbl 0701.68013号
[254] Wang,W.和Jiao,L.2016。用于求解Horn子句的跟踪抽象细化。《计算机杂志》59,8,1236-1251。
[255] 沃伦,D.S.,1992年。逻辑程序的记忆。ACM通信35、3、93-111。
[256] Warren,R.、Hermenegildo,M.和Debray,S.K.1988。关于逻辑程序全局流分析的实用性。在逻辑编程会议和研讨会上。麻省理工学院出版社,684-699。
[257] Wybraniec-Skardowska,U.2019年。关于自然数和整数算术的某些公理化。Axioms 8、3。doi:doi:10.3390/axioms8030103·Zbl 1432.03124号
[258] Zaks,A.和Pnueli,A.2008。CoVaC:通过交叉积的程序分析进行编译器验证。在形式方法国际研讨会上。LNCS 5014。施普林格,35-51岁。
[259] Zhou,Q.,Heath,D.和Harris,W.2019。通过不变量引导的同步进行关系验证。HCVS中/PERR@ETAPS(预计到达时间)2019理论计算机科学电子论文集296,28-41·Zbl 1483.68216号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。