×

使用分散不变量进行更简单的证明。 (英语) Zbl 1518.68048号

摘要:当验证数据具有某种递归结构的程序时,使用自身递归定义的全局不变量是很自然的。虽然这在数学上很优雅,但这使得证明更加复杂,因为保存这些不变量现在需要归纳。特别是,这使得证明不太容易自动化。另一种方法是使用附加到结构单个组件的局部不变量,这些不变量只涉及有限数量的元素。我们称之为分散不变量。当结构更新时,修改的足迹只影响有限数量的不变量,重建它们不需要归纳。在本文中,我们在三个非平凡程序上说明了这一思想,并实现了全自动的证明。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
68伏15 定理证明(自动和交互式定理证明器、推导、解析等)
PDF格式BibTeX公司 XML格式引用
全文: DOI程序 哈尔

参考文献:

[1] Leino,K.R.M。;Moskal,M.,《可用自动验证》,(可用验证研讨会。可用验证研讨会,华盛顿州雷蒙德,美国(2010年))
[2] Leino,K.R.M.,Dafny:功能正确性的自动程序验证器(LPAR-16)。LPAR-16,《计算机科学讲义》,第6355卷(2010年),施普林格出版社,348-370·Zbl 1253.68095号
[3] Bobot,F。;费利特,J.-C。;马奇,C。;Melquiond,G.等人。;Paskevich,A.,Why3平台
[4] 雅各布斯,B。;Smans,J。;Philippearts,P。;Vogels,F。;佩宁克斯,W。;Piessens,F.,VeriFast:一个强大、可靠、可预测的C和Java快速验证器,(Bobaru,M.G.;Havelund,K.;Holzmann,G.J.;Joshi,R.,NASA形式方法,NASA计算机科学讲义,第6617卷(2011),Springer),41-55
[5] Bobot,F。;Conchon,S。;孔特让,E。;伊格尔内拉拉,M。;Lescuyer,S。;Mebsout,A.,Alt-Ergo自动定理证明器(2008)
[6] 巴雷特,C。;康威,C.L。;威特斯,M。;哈达兰。;Jovanović,D。;King,T。;雷诺兹,A。;Tinelli,C.,CVC4,(第23届计算机辅助验证国际会议论文集。第23届国际计算机辅助验证会议论文集,CAV’11(2011),Springer-Verlag)
[7] de Moura,L.公司。;Björner,N.,Z3,一个高效的SMT求解器
[8] Aho,A.V。;霍普克罗夫特,J.E。;Ullman,J.,《数据结构和算法》(1983),Addison-Wesley Longman Publishing Co.,Inc.:美国马萨诸塞州波士顿·Zbl 0487.68005号
[9] Tarjan,R.E.,《一种良好但非线性集合并算法的效率》,J.ACM,22,2,215-225(1975)·Zbl 0307.68029号
[10] 弗雷德曼,M。;Saks,M.,动态数据结构的细胞探针复杂性,(第二十届美国计算机学会计算理论研讨会论文集。第二十届ACM计算理论研讨会文献集,STOC’89(1989),美国计算机学会:美国纽约州纽约市ACM),345-354
[11] Charguéraud,A。;Pottier,F.,《用时间信用验证分离逻辑中union-find实现的正确性和已摊销的复杂性》,J.Autom。原因。,62, 3, 331-365 (2019) ·Zbl 1468.68120号
[12] 费利特,J.-C。;Magaud,N.,系统Coq中排序算法的证明,(高阶逻辑中的定理证明:新兴趋势。高阶逻辑的定理证明,新兴趋势,法国尼斯(1999))
[13] Knuth,D.E.,《计算机编程的艺术》,《基本算法》,第1卷(1997),Addison-Wesley Longman Publishing Co.,Inc·兹伯利0895.68055
[14] Huang,B.-C.,置换反转算法,Inf.过程。莱特。,12, 5, 237-238 (1981)
[15] Dufourd,J.-F.,有限域中函数轨道的形式化研究,Theor。计算。科学。,564, 63-88 (2015) ·Zbl 1317.68208号
[16] 罗森博格,S。;Banerjee,A。;Naumann,D.A.,《复合模式及其客户的局部推理和动态框架》,(Leavens,G.T.;O'Hearn,P.W.;Rajamani,S.K.,VSTTE.VSTTE,计算机科学讲义,第6217卷(2010),Springer),183-198
[17] Banerjee,A。;Naumann,D.A。;Rosenberg,S.,《全局不变量的局部推理》,第一部分:区域逻辑,J.ACM,60,3,18(2013)·Zbl 1281.68154号
[18] Charguéraud,A。;费利特,J.-C。;佩雷拉,M。;Pottier,F.,VOCAL——经验证的OCaml图书馆(ML家庭研讨会(2017年9月))
[19] 费利特,J.-C。;德索萨,S.M。;Pereira,M.,Union-find(作为经验证的OCaml图书馆VOCaL的一部分)(2018年)
[20] Leino,K.R.M。;Moskal,M.,VACID-0:验证数据结构不变量的充分正确性,第0版,(VSTTE工具和实验研讨会论文集(2010))
[21] Reynolds,J.C.,分离逻辑:一种用于共享可变数据结构的逻辑,(第17届IEEE计算机科学逻辑年度研讨会(2002),IEEE Comp。Soc.出版社)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。