×

从Jinja字节码到术语重写:一种反映复杂性的转换。 (英语) Zbl 1395.68160号

摘要:在本文中,我们展示了命令程序可以通过转换为术语重写系统,然后可以通过现有的复杂性工具自动验证其复杂性。我们只限于形成良好Jinja字节码只使用非递归方法的程序。只有当终止行为与循环数据无关时,分析才能处理具有循环数据的程序。
我们利用基于术语抽象解释框架内程序的抽象。所提出的转换包括两个阶段。对于第一阶段,我们通过符号化地评估程序状态来执行组合控制和数据流分析,这表明通过一个名为计算图表在第二阶段,我们将(有限)计算图编码为术语重写系统。这是在仔细分析复杂度保持和所用转换的反映的同时完成的,以便获得的术语重写系统的复杂性反映出初始程序的复杂性。最后,我们展示了该方法如何实现自动化,并提供了充分的实验证据证明了所提出的分析的优点。

MSC公司:

68问题30 算法信息理论(Kolmogorov复杂性等)
65年第68季度 算法和问题复杂性分析
2012年第68季度 语法和重写系统
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 米德尔多普,A。;莫瑟,G。;Neurauter,F。;Waldmann,J。;Zankl,H.,《重写系统自动化复杂性分析的联合谱半径理论》(Proc.4th CAI,LNCS,vol.6742,(2011)),1-20·Zbl 1307.68042号
[2] Avanzini,M。;Moser,G.,多项式路径阶,Log。计算方法。科学。,9, 4, (2013) ·Zbl 1314.68170号
[3] Waldmann,J.,《多面体域上的矩阵解释》,(第26届RTA会议,(2015)),318-333·Zbl 1366.68129号
[4] Avanzini,M。;Eguchi,N。;Moser,G.,《多时间可计算函数的新序理论表征》,Theor。计算。科学。,585, 3-24, (2015) ·Zbl 1327.68142号
[5] Hirokawa,N。;Moser,G.,基于依赖对方法的自动化复杂性分析,(Proc.4th IJCAR,LNCS,vol.5195,(2008)),364-380·Zbl 1165.68390号
[6] Hirokawa,N。;Moser,G.,复杂性、图形和依赖对方法,(Proc.of 15th LPAR,(2008)),652-666·Zbl 1182.68095号
[7] Noschinski,L。;艾姆斯,F。;Giesl,J.,通过依赖对分析术语重写的最内部运行时复杂性,J.Autom。原因。,51, 1, 27-56, (2013) ·Zbl 1314.68174号
[8] Zankl,H。;Korp,M.,《通过相对复杂性进行模块复杂性分析》(Proc.21st RTA,LIPIcs,vol.6,(2010)),385-400·Zbl 1236.68158号
[9] Avanzini,M。;Moser,G.,《复杂性的组合框架》,Inf.Compute。,248, 22-55, (2016) ·Zbl 1339.68135号
[10] 弗洛恩,F。;Giesl,J。;亨塞尔,J。;Aschermann,C。;Ströder,T.,推断运行时复杂性下限,(第26届RTA会议,LIPIcs,(2015)),334-349·Zbl 1366.68116号
[11] Moser,G.,《工作中的证明理论:术语重写系统的复杂性分析》(2009),CoRR
[12] Giesl,J。;斯特罗德,T。;施耐德-坎普,P。;艾姆斯,F。;Fuhs,C.,符号评估图和术语重写:分析逻辑程序的通用方法,(第14届PPDP会议记录,(2012),ACM),1-12·Zbl 06208064号
[13] Avanzini,M。;美国拉戈。;Moser,G.,《分析函数程序的复杂性:高阶满足一阶要求》,(第20届ICFP,(2015),ACM),152-164·Zbl 1360.68313号
[14] Stärk,R。;施密德,J。;Börger,E.,《Java和Java虚拟机:定义、验证、验证》(2001),Springer·Zbl 0978.68033号
[15] 克莱因,G。;Nipkow,T.,类Java语言、虚拟机和编译器的机器选择模型,ACM Trans。程序。语言系统。,28, 4, 619-695, (2006)
[16] 库索特,P。;库索特,R.,《抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型》(Proc.4th POPL,(1977)),238-252
[17] 塞奇,S。;Spoto,F.,面向对象程序的对共享分析,(Proc.12th SAS,LNCS,vol.3672,(2005)),320-335·Zbl 1141.68378号
[18] 罗西诺利,S。;Spoto,F.,《通过将抽象编译为布尔函数来检测非周期性》(Proc.7th VMCAI,LNCS,vol.3855,(2006)),95-110·Zbl 1176.68043号
[19] Genaim,S。;Zanardini,D.,通过抽象解释进行基于可达性的非循环分析,Theor。计算。科学。,474, 60-79, (2013) ·Zbl 1259.68242号
[20] Avanzini,M。;Moser,G.,《Tyrolean复杂性工具:特性和用法》,(第24届RTA会议录,LIPIcs,第21卷,(2013)),71-80·Zbl 1356.68093号
[21] Avanzini,M。;莫瑟,G。;Schaper,M.,Tct:Tyrolean复杂度工具,(第22届TACAS会议,LNCS,(2016)),407-423
[22] Lochbihler,A.,带螺纹的Jinja,Arch。正式证明,(2007)
[23] Lochbihler,A.,验证Java线程的编译器,(Proc.19th ESOP,LNCS,vol.6012,(2010)),427-447·兹比尔1260.68080
[24] Schaper,M.,《从jinja字节码到重写系统的保持复杂性转换》(2014),奥地利因斯布鲁克大学,硕士论文
[25] 弗洛恩,F。;Brockschmidt,M。;Giesl,J.,Java程序复杂性上限的自动推断,(第十五届终止问题国际研讨会论文集,(2016))·Zbl 1475.68134号
[26] 霍夫曼,J。;Aehlig,K。;Hofmann,M.,多元摊销资源分析,ACM Trans。程序。语言系统。,34, 3, 14, (2012)
[27] 奥托,C。;Brockschmidt,M。;v.埃森,C。;Giesl,J.,《通过术语重写对Java字节码进行自动终止分析》(Proc.21st RTA,(2010)),259-276·Zbl 1236.68145号
[28] TeReSe,术语重写系统,《剑桥理论计算机科学轨迹》,第55卷,(2003),剑桥大学出版社·Zbl 1030.68053号
[29] Brockschmidt,M。;奥托,C。;冯·埃森,C。;Giesl,J.,Java字节码的终止图,(验证,归纳,终止分析,LNCS,第6463卷,(2010)),17-37·Zbl 1309.68038号
[30] Brockschmidt,M。;奥托,C。;Giesl,J.,通过术语重写的递归Java字节码程序的模块化终止证明,(Proc.22nd RTA,LIPIcs,(2011)),155-170·Zbl 1236.68036号
[31] Brockschmidt,M。;穆索尔,R。;奥托,C。;Giesl,J.,《循环数据Java字节码的自动终止证明》(Proc.24th CAV,LNCS,vol.7358,(2012)),105-122
[32] 萨吉夫,M。;代表,T。;Wilhelm,R.,通过三值逻辑进行参数形状分析,(Proc.26 POPL,(1999),ACM),105-118
[33] 尼尔森,F。;尼尔森,H。;Hankin,C.,《程序分析原理》(2005),Springer·Zbl 1069.68534号
[34] 福尔克,S。;Kapur,D.,《命令式程序自动终止分析的术语重写方法》(Proc.22nd CADE,LNCS,vol.5663,(2009)),277-293·Zbl 1250.68141号
[35] 福克,S。;卡普尔,D。;Sinz,C.,《使用编译器中间语言的C程序终止分析》(Proc.22nd RTA,LIPIcs,vol.10,(2011)),41-50·Zbl 1236.68040号
[36] 坂田,T。;Nishida,N。;Sakabe,T.,《关于通过消除依赖图中的边来证明约束项重写系统的终止》,(第20届WFLP会议,LNCS,第6816卷,(2011)),138-155·Zbl 1339.68141号
[37] 科普,C。;Nishida,N.,带逻辑约束的术语重写,(Proc.9th FroCos,LNCS,vol.8152,(2013),Springer),343-358·Zbl 1398.68276号
[38] 福斯,C。;Giesl,J。;普吕克,M。;施耐德-坎普,P。;Falke,S.,《证明整数项重写的终止》(Proc.20th RTA,LNCS,vol.5595,(2009)),32-47·Zbl 1242.68131号
[39] 科普,C。;Nishida,N.,约束项重写工具(Proc.20th LPAR,LNCS,(2015)),549-557·兹比尔1471.68110
[40] Brockschmidt,M。;艾姆斯,F。;福克,S。;福斯,C。;Giesl,J.,《整数程序的交替运行时间和大小复杂性分析》(Proc.20th TACAS,(2014)),140-155
[41] Atkey,R.,《利用分离逻辑进行摊销资源分析》,(《第19届员工持股计划》,LNCS,第6012卷,(2010年),施普林格出版社),第85-103页·Zbl 1260.68083号
[42] 艾伯特·E。;阿雷纳斯,P。;Genaim,S。;普埃布拉,G。;Zanardini,D.,面向对象字节码程序的成本分析,Theor。计算。科学。,413, 1, 142-159, (2012) ·Zbl 1236.68042号
[43] Zuleger,F。;Gulwani,S。;辛恩,M。;Veith,H.,具有大小变化抽象的命令式程序的边界分析,(Proc.18th SAS,LNCS,vol.6887,(2011)),280-297
[44] 辛恩,M。;Zuleger,F。;Veith,H.,《用于界限分析和摊销复杂性分析的简单且可扩展的静态分析》(Proc.26 CAV,(2014)),745-761
[45] Flores-Montoya,A。;Hähnle,R.,《复杂项目的资源分析与成本方程》(第12届APLAS会议,(2014)),275-295·兹比尔1453.68047
[46] Fenacci,D。;MacKenzie,K.,《使用摊销和分离逻辑对Java字节码进行静态资源分析》,Proc。第六个BYTECODE,Electron。注释Theor。计算。科学。,279, 19-32, (2011)
[47] 帕尼茨,S.E。;Schmidt-SchaußTEA,M.,用非严格高阶函数语言自动证明程序终止,(第四SAS程序,(1997)),345-360
[48] 斯波托,F。;梅斯纳德,F。;佩耶特,埃及。,基于路径长度的Java字节码终止分析器ACM-Trans。程序。语言系统。,32, 3, (2010)
[49] 罗什·G。;Stefănescu,A.,使用匹配逻辑检查可达性,(Proc.27 OOPSLA,(2012),ACM),555-574
[50] 罗什·G。;埃里森,C。;Schulte,W.,《匹配逻辑:霍尔/弗洛伊德逻辑的替代品》(Proc.13th AMAST,LNCS,vol.6486,(2010)),142-162·Zbl 1308.68045号
[51] Stefénescu,A.,Matchc:使用K框架Electron的匹配逻辑可达性验证器。注释Theor。计算。科学。,304, 183-198, (2014)
[52] 对手X。;Mauborgne,L.,跟踪分区抽象域,ACM Trans。程序。语言系统。,29, 5, (2007)
[53] Endrullis,J。;Waldmann,J。;Zantema,H.,《证明术语重写终止的矩阵解释》,J.Autom。原因。,195-220年4月40日(2008年)·Zbl 1139.68049号
[54] Avanzini,M。;Eguchi,N。;Moser,G.,计算指数时间函数的重写系统的路径顺序,(第22届RTA会议,LIPIcs,第10卷,(2011),Dagstuhl),123-138·Zbl 1236.68118号
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。