×

为反例生成插入最弱的前提演算。 (英语) Zbl 1395.68097号

摘要:演绎程序验证活动中的一个主要问题是理解为什么自动校准器不能履行证明义务。为了帮助用户理解问题并决定代码或规范中需要修复的内容,提供调查此类故障的方法是至关重要的。我们介绍了设计和实现反例生成,在规范的给定部分未能得到验证的情况下,显示程序变量的值。为了产生一个反例,我们利用SMT解算器的能力,在未找到公式证明时,提出一个反模型将这样一个反模型转化为初始程序的反例并非易事,因为从一段特定的代码及其规范到给外部证明程序的一组证明目标需要进行许多转换。

MSC公司:

68N99型 软件理论
60年第68季度 规范和验证(程序逻辑、模型检查等)
68吨15 定理证明(演绎、解析等)(MSC2010)
PDF格式BibTeX公司 XML格式引用
全文: 内政部 哈尔

参考文献:

[1] Dijkstra,E.W.,《编程学科》,《自动计算系列》(1976年),普伦蒂斯·霍尔国际出版社·兹比尔0368.68005
[2] Leino,K.R.M。;Wüstholz,V.,《dafny集成开发环境》(Dubois,C.;Giannakopoulou,D.;Méry,D.,《正式集成开发环境第一次研讨会论文集》,F-IDE 2014,法国格勒诺布尔,2014年4月6日,《理论计算机科学电子论文集》第149卷,(2014)),3-15
[3] Cok,D.R.,Openjml:使用JML、openjdk和eclipse对Java 7进行软件验证,(Dubois,C.;Giannakopoulou,D.;Méry,D.,《正式集成开发环境第一次研讨会论文集》,EPTCS,第149卷,(2014)),79-92
[4] Bobot,F。;费利特,J.-C。;马奇,C。;Paskevich,A.,让我们用why3,Int.J.Softw来验证这一点。工具技术。传输。,17、6、709-727,(2015),另见
[5] Bobot,F。;Conchon,S。;孔特让,E。;伊格尔内拉拉,M。;Lescuyer,S。;Mebsout,A.,alt-ergo自动定理证明器,(2008)
[6] 巴雷特,C。;康威,C.L。;威特斯,M。;哈达伦,L。;Jovanović,D。;King,T。;雷诺兹,A。;Tinelli,C.,Cvc4,(第23届计算机辅助验证国际会议论文集,CAV’11,(2011),柏林斯普林格-Verlag,海德堡),171-177
[7] de Moura,L。;Bjørner,N.,Z3,一个高效的SMT求解器,(TACAS,计算机科学讲义,第4963卷,(2008),施普林格),337-340
[8] 费利特,J.-C。;Paskevich,A.,Why3-程序遇到证明者,(Felleisen,M.;Gardner,P.,《第22届欧洲编程研讨会论文集》,计算机科学讲稿,第7792卷,(2013),Springer),125-128·Zbl 1435.68366号
[9] 费利特,J.-C。;Marché,C.,演绎程序验证的why/krakatoa/caduceus平台,(Damm,W.;Hermanns,H.,第19届计算机辅助验证国际会议,计算机科学讲稿,第4590卷,(2007),德国柏林斯普林格),173-177
[10] 北科斯马托夫。;马奇,C。;莫伊,Y。;Signoles,J.,《why3中的静态与动态验证》,frama-C和SPARK 2014,(Margaria,T.;Steffen,B.,第七届利用形式方法应用、验证和验证国际研讨会,ISoLA,计算机科学讲稿,第9952卷,(2016),斯普林格-科尔夫,希腊),461-478
[11] Bobot,F。;Filliâtre,J.-C.(菲力)。;马奇,C。;Paskevich,A.,Why3:牧羊人,(Boogie 2011:第一期中级验证语言国际研讨会,波兰Wrocław,(2011)),53-64
[12] 巴内特,M。;DeLine,R。;雅各布斯,B。;Chang,B.-Y.E。;Leino,K.R.M.,Boogie:面向对象程序的模块化可重用验证器,(de Boer,F.S.;Bonsange,M.M.;Graf,S.;de Roever,W.-P.,组件和对象的形式化方法:第四届国际研讨会,计算机科学讲义,第4111卷,(2005)),364-387
[13] Hauzar,D。;马奇,C。;Moy,Y.,SPARK中证明失败的反例,(软件工程与形式方法,(2016)),215-233
[14] 弗拉纳根,C。;Saxe,J.B.,《避免指数爆炸:生成紧凑验证条件》,(编程语言原理,(2001),ACM),193-205·Zbl 1323.68372号
[15] Leino,K.R.M.,《效率最弱的前提条件》,《Inf.过程》。莱特。,93, 6, 281-288, (2005) ·Zbl 1173.68563号
[16] 贝洛·卢伦索,C。;弗雷德,M.J。;Sousa Pinto,J.,《形式化单一任务程序验证:一种适应-完全方法》(Thiemann,P.,第25届欧洲编程研讨会,(2016),Springer),41-67·Zbl 1335.68044号
[17] 巴雷特,C。;Stump,A。;Tinelli,C.,SMT-LIB标准:2.0版,(Gupta,A.;Kroening,D.,《第八届可满足性模理论国际研讨会论文集》,英国爱丁堡,(2010))
[18] 浮渣,C。;Conchon,S。;Kanig,J。;Paskevich,A.,《使用带有触发器的公理将决策过程添加到SMT求解器》,J.Autom。原因。,56, 4, 387-457, (2016) ·Zbl 1356.68187号
[19] Barnes,J.,《ada编程》,2012年(2014年),剑桥大学出版社
[20] 麦考密克,J.W。;Chapin,P.C.,《使用SPARK构建高完整性应用程序》,(2015),剑桥大学出版社·Zbl 1328.68009号
[21] 查普曼,R。;Schanda,F.,我们到了吗?用SPARK证明工业定理20年,(Klein,G.;Gamboa,R.,《交互式定理证明-第五届国际会议论文集》,ITP 2014,作为维也纳逻辑夏季的一部分举行,VSL 2014,奥地利维也纳,2014年7月14日至17日,计算机科学讲义,第8558卷,(2014),Springer),17-26
[22] Schanda,F。;Brain,M.,《在开发验证软件中使用答案集编程》,(第28届逻辑编程国际会议技术通信,LIPIcs,第17卷,(2012),莱布尼茨-中央情报局),72-85·Zbl 1281.68083号
[23] 合金
[24] Groce,A。;Kroening,D。;Lerda,F.,《理解反例与解释》(Alur,R.;Peled,D.,CAV,计算机科学讲义,第3114卷,(2004),Springer),453-456·Zbl 1103.68620号
[25] 布兰切特,J.C。;Nipkow,T.,Nitpick:基于关系模型查找器的高阶逻辑反例生成器,(Kaufmann,M.;Paulson,L.C.,交互式定理证明,第一届国际会议,计算机科学讲义,第6172卷,(2010),Springer),131-146·Zbl 1291.68326号
[26] Leino,K.R.M。;Millstein,T。;Saxe,J.B.,从验证条件反例生成错误跟踪,科学。计算。程序。,55, 13, 209-226, (2005) ·Zbl 1075.68018号
[27] Cok,D.R.,《用于调试规范的SMT解算器的改进可用性和性能》,国际期刊Softw。工具技术。传输。,12, 6, 467-481, (2010)
[28] Le Goues,C。;Leino,K.R.M。;Moskal,M.,The boogie verification debugger,(Barthe,G.;Pardo,A.;Schneider,G.,《软件工程与形式方法——第九届国际会议》,SEFM,《计算机科学讲义》,第7041卷,(2011),Springer),407-414
[29] 科恩,E。;Dahlweid,M。;Hillebrand,M。;Leinenbach,D。;莫斯卡尔,M。;桑顿,T。;舒尔特,W。;Tobies,S.,VCC:验证并发C的实用系统,(《高阶逻辑中的定理证明》,TPHOL,计算机科学讲义,第5674卷,(2009),Springer)
[30] 缪勒,P。;Ruskiewicz,J.N.,《使用调试器理解失败的验证尝试》(Butler,M.J.;Schulte,W.,第17届形式方法国际研讨会,计算机科学讲稿,第6664卷,(2011),Springer),73-87
[31] 雅各布斯,B。;Smans,J。;Philippearts,P。;Vogels,F。;佩宁克斯,W。;Piessens,F.,Verifast:C和Java的强大、可靠、可预测、快速验证器,(Bobaru,M.G.;Havelund,K.;Holzmann,G.J.;Joshi,R.,NASA形式方法,计算机科学讲义,第6617卷,(2011),Springer),41-55
[32] Hentschel,M。;Hähnle,R。;Bubel,R.,《演绎软件验证-关键手册》,383-413,(2016),施普林格出版社
[33] Christakis,M。;Leino,K.R.M。;缪勒,P。;Wüstholz,V.,《诊断验证错误的集成环境》,(第22届系统构建和分析工具和算法国际会议,TACAS’16,(2016),Springer),424-441
[34] Petiot,G。;北科斯马托夫。;肉毒杆菌。;Giorgetti,A。;朱利安德,J.,你的证明失败了?测试有助于找到原因,(测试和校对-第十届国际会议,计算机科学讲义,第9762卷,(2016),施普林格),130-150
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。