×

自动细化到有效的数据结构:两种方法的比较。 (英文) Zbl 1459.68228号

摘要:我们考虑在证明助手中正式验证算法并生成有效代码的问题。关于正确性的推理最好在抽象级别进行,但生成代码的效率通常需要复杂的数据结构。数据细化已经成功地用于协调这些冲突的需求,但可用性需要自动工具支持。在Isabelle/HOL的背景下,提出了两个自动化数据细化的框架[P.Lammich先生,莱克特。注释计算。科学。7998, 84–99 (2013;Zbl 1317.68216号);A.洛赫比勒,莱克特。注释计算。科学。7998, 116–132 (2013;Zbl 1317.68219号)]. 在本文中,我们深入介绍并比较了这两个框架及其基本思想。因此,我们确定了自动化数据细化的挑战,强调了这两种方法的相似性和差异,并从实现者和用户的角度展示了它们的优势和局限性。一个案例研究展示了如何结合这两个框架,并从各自的优势中获益。

MSC公司:

68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
68第05页 数据结构
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Appel,A.W.:有效验证的红黑树。http://www.cs.princeton.edu/appel/papers/redblack.pdf(2011)
[2] Aspvall,B.,Plass,M.F.,Tarjan,R.E.:用于测试某些量化布尔公式真实性的线性时间算法。信息处理。莱特。8(3), 121-123 (1979) ·Zbl 0398.68042号 ·doi:10.1016/0020-0190(79)90002-4
[3] Back,R.J.J.,Akademi,A.,Wright,J.V.:精化微积分:系统介绍,第1版。施普林格,纽约(1998)·Zbl 0949.68094号 ·doi:10.1007/978-1-4612-1674-2
[4] Ballarin,C.:Locales:数学理论的模块系统。J.汽车。原因。52(2), 123-153 (2014). https://doi.org/10.1007/s10817-013-9284-7 ·Zbl 1315.68218号 ·doi:10.1007/s10817-013-9284-7
[5] Berghofer,S.,Reiter,M.:形式化逻辑自动机连接。收录于:Berghofer,S.、Nipkow,T.、Urban,C.、Wenzel,M.(编辑)TPHOLs 2009,LNCS,第5674卷,第147-163页。施普林格,海德堡(2009)·Zbl 1252.68250号
[6] Blanchette,J.C.、Hölzl,J.、Lochbihler,A.、Panny,L.、Popescu,A.、Traytel,D.:Isabelle/HOL的真正模块化(co)数据类型。In:ITP 2014,第93-110页(2014)·Zbl 1416.68151号
[7] Brunner,J.,Lammich,P.:具有部分降阶的可执行LTL模型检查器的形式验证。收录人:Rayadurgam,S.,Tkachuk,O.(编辑)NFM 2016。LNCS,第9690卷,第307-321页。查姆施普林格(2016)。https://doi.org/10.1007/978-3-319-40648-0_23 ·Zbl 1426.68162号
[8] Chen,K.,Hudak,P.,Odersky,M.:参数类型类。收录于:LFP 1992,第170-181页。ACM,纽约(1992)
[9] 科恩,C。;邓内斯,M。;Mörtberg,A。;Gonthier,G.(编辑);Norrish,M.(编辑),免费精炼!,海德堡8307号、147-162号(2013)·Zbl 1426.68165号
[10] Cohen,C.,Rouhling,D.:基于细化的代数大规模反射方法。摘自:法语应用杂志(JFLA 2017)(2017)。技术报告HAL-01414881。https://hal.inia.fr/hal-01414881 ·Zbl 1484.68315号
[11] Delaware,B.,Pit-Claudel,C.,Gross,J.,Chlipala,A.:菲亚特:证明助手中抽象数据类型的演绎合成。摘自:《POPL会议录》,第689-700页。ACM,纽约(2015)。https://doi.org/10.1145/2676726.2677006 ·Zbl 1346.68175号
[12] 埃斯帕尔扎,J。;Lammich,P。;诺依曼,R。;尼普科夫,T。;Schimpf,A。;Smaus,JG;Sharygina,N.(编辑);Veith,H.(编辑),经充分验证的可执行LTL模型检查器,第8044、463-478号(2013),海德堡
[13] Felgenhauer,B.,Thiemann,R.:状态兼容自动机的可达性、合流性和终止性分析。Inf.计算。253, 467-483 (2017). https://doi.org/10.1016/j.ic.2016.06.011 ·Zbl 1362.68137号 ·doi:10.1016/j.ic.2016.06.011
[14] 哈夫特曼,F。;克劳斯,A。;库纳尔,O。;尼普科夫,T。;Blazy,S.(编辑);Paulin-Mohring,C.(编辑);Pichardie,D.(编辑),《Isabelle/HOL中的数据精炼》,第7998、100-115号(2013年),海德堡·Zbl 1317.68212号
[15] Haftmann,F.,Lochbihler,A.,Schreiner,W.:《Isabelle中的抽象和可执行多元多项式》。2014年伊莎贝尔研讨会。http://www.infsec.ethz.ch/people/andreloc/publications/haftmann14iw.pdf (2014)
[16] Haftmann,F.,Nipkow,T.:通过高阶重写系统生成代码。收录于:Blume,M.,Kobayashi,N.,Vidal-Oriola,G.(编辑)FLOPS 2010,LNCS,第6009卷,第103-117页。斯普林格,海德堡(2010)·Zbl 1284.68131号
[17] Hoare,C.:数据表示正确性的证明。《信息学报》1(4),271-281(1972)·兹比尔0244.68009 ·doi:10.1007/BF00289507
[18] B.哈夫曼。;库纳尔,O。;Gonthier,G.(编辑);Norrish,M.(编辑),《提升和转移:Isabelle/HOL中商的模块化设计》,第8307131-146号(2013),海德堡·Zbl 1426.68284号
[19] Immler,F.:连续系统的验证可达性分析。收录于:Baier,C.,Tinelli,C.(编辑)TACAS 2015,LNCS,第9035卷,第37-51页。斯普林格,海德堡(2015)
[20] 卡纳夫,S。;Lammich,P。;Popescu,A。;Biere,A.(编辑);Bloem,R.(编辑),《经验证的文件机密性会议管理系统》,第8559、167-183号(2014),海德堡
[21] Klein,G.,Nipkow,T.:类Java语言、虚拟机和编译器的机器选择模型。ACM事务处理。程序。语言系统。28619-695(2006年)·数字对象标识代码:10.1145/1146809.1146811
[22] Lammich,P.:树自动机。正式证据存档。http://www.isa-afp.org/entries/Tree-Automata.shtml,正式证明开发(2009年)
[23] Lammich,P。;Blazy,S.(编辑);Paulin-Mohring,C.(编辑);Pichardie,D.(编辑),《自动数据细化》,第7998、84-99号(2013年),海德堡·Zbl 1317.68216号
[24] Lammich,P.:CAVA自动机库。正式证据存档。http://www.isa-afp.org/entries/CAVA_Automata.shtml,正式证明开发(2014年)
[25] Lammich,P.:验证了Gabow强连通分量算法的有效实现。收录于:Klein,G.,Gamboa,R.(编辑)ITP 2014,LNCS,第8558卷,第325-340页。施普林格,海德堡(2014)·Zbl 1416.68168号
[26] Lammich,P.:精炼为强制性/HOL。收录于:Urban,C.,Zhang,X.(编辑)ITP 2015,LNCS,第9236卷,第253-269页。斯普林格,海德堡(2015)·Zbl 1465.68290号
[27] Lammich,P.:基于精炼的命令式数据结构验证。摘自:Avigad,J.,Chlipala,A.(编辑)CPP 2016,第27-36页。ACM,纽约(2016)
[28] Lammich,P。;Lochbihler,A。;考夫曼,M.(编辑);保尔森,LC(编辑),《伊莎贝尔收藏框架》,第6172、339-354号(2010),海德堡·Zbl 1291.68357号
[29] Lammich等人。;Tuerk,T。;Beringer,L.(编辑);Felty,A.(编辑),《将一元程序的数据求精应用于Hopcroft算法》,第7406号,第166-182页(2012年),海德堡·Zbl 1360.68757号
[30] Leroy,X.:正式验证的编译器后端。J.汽车。原因。43(4), 363-446 (2009) ·Zbl 1185.68215号 ·doi:10.1007/s10817-009-9155-4
[31] Lochbihler,A.:一个基于机器的Java并发类型安全模型:语言、虚拟机、内存模型和验证编译器。Fakultät für Informatik卡尔斯鲁厄技术研究所博士论文(2012年)·Zbl 1352.68034号
[32] Lochbihler,A.:轻型集装箱。正式证据存档。http://www.isa-afp.org/entries/Containers.shtml,形式化证明开发(2013)·Zbl 1317.68219号
[33] Lochbihler,A。;Blazy,S.(编辑);Paulin-Mohring,C.(编辑);Pichardie,D.(编辑),《Isabelle的轻型集装箱:高效、可扩展、可嵌套》,第7998、116-132号(2013),海德堡·Zbl 1317.68219号
[34] Lochbihler,A。;布尔瓦恩,L。;Eekelen,M.(编辑);Geuvers,H.(编辑);Schmalz,J.(编辑);Wiedijk,F.(编辑),《类Java语言的形式化语义动画》,第6898、216-232号(2011),海德堡·Zbl 1342.68294号
[35] Marić,F.:通过浅嵌入Isabelle/HOL对现代SAT解算器进行形式验证。西奥。计算。科学。411(50), 4333-4356 (2010) ·Zbl 1208.68205号 ·doi:10.1016/j.tcs.2010.09.014
[36] 穆瑟博士;斯捷潘诺夫,AA;Gianni,P.(编辑),《通用编程》,第358期,13-25期(1989年),海德堡
[37] 尼普科夫,T。;Branchette,JC(编辑);Merz,S.(编辑),《函数搜索树的自动函数正确性证明》,第9807307-322号(2016),海德堡·Zbl 1478.68065号
[38] 尼普科夫,T。;保尔森,LC;Hurd,J.(编辑);Melham,T.(编辑),《证明珍珠:有限集上定义函数》,第3603号,第385-396页(2005年),海德堡·Zbl 1152.68529号
[39] Nordhoff,B.,Lammich,P.:Dijkstra的最短路径算法。正式证据存档。http://www.isa-afp.org/entries/Dijkstra_Shortest_Path.shtml,形式化证明开发(2012)
[40] Peyton Jones,S.:类的批量类型。In:Haskell Workshop 1997(1997)
[41] 普洛金,G.D.:关于归纳推广的注释。机器。智力。5(1), 153-163 (1970) ·Zbl 0219.68045号
[42] Schimpf,A.,Lammich,P.:将线性时间时序逻辑转换为广义Büchi自动机。正式证据存档。http://www.isa-afp.org/entries/LTL_to_GBA.shtml,正式证明开发(2014年)
[43] Schimpf,A。;Merz,S。;Smaus,J.,《用于LTL模型检查的Büchi自动机的构建》,Isabelle/HOL,第5674、424-439号(2009),海德堡·Zbl 1252.68196号
[44] Sozeau先生。;Oury,N。;Ait Mohamed,O.(编辑);穆尼奥斯,C.(编辑);Tahar,S.(编辑),第一类类型类,No.5170,278-293(2008),海德堡·Zbl 1165.68475号
[45] 斯特纳格尔,C。;Thiemann,R。;Urban,C.(编辑);Zhang,X.(编辑),《Isabelle/HOL中的推导比较器和显示函数》,第9236、421-437号(2015),海德堡·Zbl 1465.68063号
[46] Sternagel,C.、Thiemann,R.、Winkler,S.、Zankl,H.:CeTA——经认证的终止分析工具。CoRR abs/1208.1591。http://arxiv.org/abs/1208.1591 (2012)
[47] Thiemann,R.:实现形式Q的字段扩展[sqrt(b)]。正式证据存档。http://www.isa-afp.org/entries/Real_Impl.shtml,形式化证明开发(2014)
[48] Thiemann,R.,Sternagel,C.:使用CeTA的终止证明认证。收录于:Berghofer,S.、Nipkow,T.、Urban,C.、Wenzel,M.(编辑)TPHOLs 2009,LNCS,第5674卷,第452-468页。施普林格,海德堡(2009)·Zbl 1252.68265号
[49] Wirth,N.:通过逐步完善进行程序开发。Commun公司。ACM 14(4),221-227(1971)·Zbl 0214.43005号 ·doi:10.1145/362575.362577
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。