×

模式消除转换。 (英语) Zbl 07496642号

Fernández,Maribel(编辑),基于逻辑的程序合成和转换。第30届国际研讨会,2020年LOPSTR,意大利博洛尼亚,2020年9月7日至9日。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。12561, 74-92 (2021).
概要:程序转换是计算机科学中的一种常见实践,它的许多应用程序可以有一系列不同的目标。例如,用原始高级语言编写的程序可以翻译成机器代码以执行,也可以翻译成适合正式验证的语言。这种编译被分成几个所谓的步骤,其目的通常是消除原始语言的某些结构,以获得一些中间语言的程序,并最终生成目标代码。重写是一种广泛建立的形式主义,用于描述此类转换背后的机制和逻辑。在类型化上下文中,可以使用基础类型系统对每次传递后获得的结果的形状提供语法保证,但这种方法可能导致需要考虑的辅助类型的累积。在本文中,我们提出了一种侵入性较小的方法,该方法基于简单地用相应转换应该消除的(反)模式注释函数符号。我们展示了这种方法如何允许静态检查实现转换的重写系统是否与注释一致,从而消除了相应的模式。
关于整个系列,请参见[Zbl 1482.68019号].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部 哈尔

参考文献:

[1] Alur,R.,Cerní,P.:用于单程列表处理程序算法验证的流式传感器。摘自:ACM SIGPLAN-SIGACT编程语言原理研讨会,POPL 2011,第599-610页。ACM(2011)。doi:10.1145/1926385.1926454·Zbl 1284.68159号
[2] Alur,R.,Filiot,E.,Trivedi,A.:无限字符串的正则变换。摘自:IEEE计算机科学逻辑研讨会,LICS 2012,第65-74页。IEEE计算机学会(2012)。doi:10.1109/LICS.2012.18·Zbl 1360.68538号
[3] 艺术,T。;Giesl,J.,使用依赖对终止术语重写,Theoret。计算。科学。,236, 1-2, 133-178 (2000) ·Zbl 0938.68051号 ·doi:10.1016/S0304-3975(99)00207-8
[4] 巴德,F。;Nipkow,T.,《术语重写和所有这一切》(1998),剑桥:剑桥大学出版社,剑桥·Zbl 0948.68098号 ·doi:10.1017/CBO9781139172752
[5] 巴拉德,E。;Brauner,P。;科佩兹,R。;莫罗,P-E;Reilles,A。;Baader,F.,Tom:Java上的背负式重写,术语重写和应用,36-47(2007),海德堡:施普林格,海德伯格·doi:10.1007/978-3-540-73449-95
[6] Barthe,G。;弗雷德,MJ;Swierstra,SD,构造函数子类型,编程语言和系统,109-127(1999),海德堡:斯普林格·doi:10.1007/3-540-49099-X_8
[7] 贝尔加德,F。;书籍,RV,程序转换和重写,重写技术和应用,226-239(1991),海德堡:施普林格·Zbl 1503.68042号 ·doi:10.1007/3-540-53904-299
[8] Cirstea,H.,Lenglet,S.,Moreau,P.:将可编程策略忠实地编码到术语重写系统中。参加:2015年RTA改写技术和应用国际会议。LIPIcs,第36卷,第74-88页。达格斯图尔宫(Schloss Dagstuhl)-莱布尼茨-泽特鲁姆富尔信息(Leibniz-Zentrum fuer Informatik)(2015年)。doi:10.4230/LIPIcs。RTA.2015.74年·兹比尔1366.68109
[9] Cirstea,H.,Lermusiaux,P.,Moreau,P.E.:模式消除转换,2020年10月。https://hal.inia.fr/hal-02476012。长版本
[10] Cirstea,H.,Moreau,P.:构造函数重写系统的通用编码。在:编程语言原理与实践国际研讨会,PPDP 2019,第8:1-8:12页。ACM(2019)。数字对象标识代码:10.1145/3354166.3354173
[11] 克拉维尔,M。;Nieuwenhuis,R.,《莫德2.0系统,重写技术与应用》,76-87(2003),海德堡:施普林格出版社·Zbl 1038.68559号 ·doi:10.1007/3-540-44881-07
[12] Freeman,T.S.,Pfenning,F.:ML的精化类型。摘自:ACM SIGPLAN’91编程语言设计与实现会议(PLDI),第268-277页。ACM(1991)。数字对象标识代码:10.1145/113445.113468
[13] 福斯,C。;Giesl,J。;帕廷,M。;施耐德-坎普,P。;Swiderski,S.,通过依赖对证明终止和归纳定理证明,J.Autom。推理,47,2,133-160(2011)·Zbl 1243.68267号 ·doi:10.1007/s10817-010-9215-9
[14] Garrigue,J.:多态变体编程。In:ACM ML研讨会(1998年)
[15] Genet,T。;Escobar,S.,《使用树自动机完成功能程序的静态分析》,重写逻辑及其应用,147-161(2014),Cham:Springer,Cham·Zbl 1356.68131号 ·doi:10.1007/978-3-319-12904-48
[16] Genet,T.,树自动机完成的终止标准,J.Log。阿尔盖布。方法程序。,85, 1, 3-33 (2016) ·Zbl 1356.68132号 ·doi:10.1016/j.jlamp.2015.05.003
[17] Giesl,J。;施耐德-坎普,P。;Thiemann,R。;美国富巴赫。;Shankar,N.,AProVE 1.2:依赖对框架中的自动终止证明,自动推理,281-286(2006),海德堡:斯普林格·doi:10.1007/11814771_24
[18] 吉斯勒,J。;Thiemann,R。;施耐德-坎普,P。;Falke,S.,《机械化和改进依赖对》,J.Autom。推理,37,3,155-203(2006)·Zbl 1113.68088号 ·doi:10.1007/s10817-006-9057-7
[19] Haudebourg,T.、Genet,T.和Jensen,T.P.:带术语重写的正则语言类型推断。ACM正在计划中。语言4(ICFP),112:1-112:29(2020)。数字对象标识代码:10.1145/3408994·Zbl 1504.68129号
[20] Hirokawa,N。;Middeldorp,A.,自动化依赖项对方法,Inf.Comput。,199,1-2172-199(2005年)·Zbl 1081.68038号 ·doi:10.1016/j.ic.2004.10.004
[21] Jouannaud,J.,Kirchner,C.:在抽象代数中求解方程:基于规则的统一调查。摘自:《计算逻辑——纪念艾伦·罗宾逊的论文》,第257-321页。麻省理工学院出版社(1991)
[22] Jouannaud,J。;Kirchner,H.,方程组模的一组规则的完备化,SIAM J.Compute。,15, 4, 1155-1194 (1986) ·Zbl 0665.03005号 ·数字对象标识代码:10.1137/012584
[23] Keep,A.W.,Dybvig,R.K.:商业编译器开发的纳米级框架。在:ACM SIGPLAN功能编程国际会议,ICFP 2013。第343-350页。ACM(2013)。doi:10.1145/2500365.2500618
[24] 小林,N.:用于验证高阶程序的类型和高阶递归方案。摘自:ACM SIGPLAN-SIGACT编程语言原理研讨会,POPL 20099,第416-428页。ACM(2009)。数字对象标识代码:10.1145/1480881.1480933·Zbl 1315.68099号
[25] 小林,N.、田口,N.,Unno,H.:用于程序验证的高阶多参数树变换器和递归方案。摘自:ACM SIGPLAN-SIGACT编程语言原理研讨会,POPL 2010,第495-508页。ACM(2010)。doi:10.1145/1706299.1706355·兹比尔1312.68136
[26] 科尔普,M。;斯特纳格尔,C。;Zankl,H。;Middeldorp,A.公司。;Treinen,R.,Tyrolean终止工具2,重写技术与应用,295-304(2009),海德堡:施普林格·doi:10.1007/978-3-642-02348-4_21
[27] 莱西,D。;de Moor,O。;Wilhelm,R.,通过重写实现强制程序转换,《编译器构造》,52-68(2001),海德堡:斯普林格出版社·Zbl 0977.68675号 ·doi:10.1007/3-540-45306-7_5
[28] 梅塞盖尔,J。;布拉加,C。;拉特雷,C。;Maharaj,S。;Shankland,C.,《编程语言的模块化重写语义》,代数方法论和软件技术,364-378(2004),海德堡:施普林格出版社·Zbl 1108.68401号 ·doi:10.1007/978-3-540-27815-3_29
[29] Ong,C.L.,Ramsay,S.J.:用模式匹配代数数据类型验证高阶函数程序。摘自:ACM SIGPLAN-SIGACT编程语言原理研讨会,POPL 2011,第587-598页。ACM(2011)。doi:10.1145/1926385.1926453·Zbl 1284.68193号
[30] Pottier,F.:游客不受约束。ACM计划。语言1(ICFP),28:1-28:28(2017)。数字对象标识代码:10.1145/3110272
[31] 罗苏,G。;Serbanuta,T.,《K语义框架概述》,J.Log。阿尔盖布。程序。,79, 6, 397-434 (2010) ·Zbl 1214.68188号 ·doi:10.1016/j.jlap.2010.03.012
[32] Takai,T。;van Oostrom,V.,使用术语重写系统和抽象解释的验证技术,重写技术和应用,119-133(2004),海德堡:施普林格·Zbl 1187.68319号 ·doi:10.1007/978-3-540-25979-49
[33] Bezem,M.、Klop,J.W.、de Vrijer,R.(编辑)《术语重写系统》。剑桥大学出版社,剑桥(2003)·Zbl 1030.68053号
[34] 维瑟,E。;Narendran,P。;Rusinovitch,M.,《战略模式匹配,重写技术与应用》,30-44(1999),海德堡:施普林格出版社·doi:10.1007/3-540-48685-23
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。