×

静态成本分析中的闭式上界。 (英文) Zbl 1213.68200号

概要:自动成本分析的经典方法包括两个阶段。给定一个程序和一些成本度量,分析首先产生成本关系(CR),即根据输入数据的大小捕获程序成本的递归方程。其次,CR被转换为闭合形式,即无重复。虽然第一阶段受到了相当大的关注,许多成本分析可用于各种编程语言,但第二阶段的研究相对较少。据我们所知,本文提出了第一个生成CR闭式上界的实用框架,它(1)是全自动的,(2)可以处理CR的独特特性,源于现实编程语言的成本分析,(3)不限于简单的复杂类,以及(4)产生相当准确的解决方案。我们的方法中的一个关键思想是将CR视为程序,这允许应用基于语义的静态分析和转换来约束它们,即我们的方法基于排序函数和循环不变量的推理以及部分求值的使用。

MSC公司:

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

参考文献:

[1] Aho,A.V.,Hopcroft,J.E.,Ullman,J.D.:计算机算法的设计与分析。Addison-Wesley,雷丁(1974)·Zbl 0326.68005号
[2] Albert,E.,Arenas,P.,Codish,M.,Genaim,S.,Puebla,G.,Zanardini,D.:Java字节码的终止分析。In:第十届IFIP开放式基于对象的分布式系统形式化方法国际会议(FMOODS’08)。计算机科学课堂讲稿,第5051卷,第2-18页。斯普林格,海德堡(2008)
[3] Albert,E.,Arenas,P.,Genaim,S.,Herraiz,I.,Puebla,G.:比较资源分析中的成本函数。参见:第一届资源分析基础和实践方面国际研讨会(FOPARA'09)。计算机科学课堂讲稿。斯普林格,海德堡(2009)
[4] Albert,E.,Arenas,P.,Genaim,S.,Puebla,G.:成本分析中递归关系上界的自动推断。摘自:第15届国际静态分析研讨会(SAS’08)。计算机科学课堂讲稿,第5079卷,第221-237页(2008年)·Zbl 1149.68345号
[5] Albert,E.,Arenas,P.,Genaim,S.,Puebla,G.:成本关系系统:一种独立于语言的成本分析目标语言。收录于:第八届西班牙编程与计算机语言会议(PROLE'08),第17615卷《理论计算机科学电子笔记》。爱思唯尔(2008)·Zbl 1149.68345号
[6] Albert,E.,Arenas,P.,Genaim,S.,Puebla,G.,Zanardini,D.:Java字节码的成本分析。摘自:第16届欧洲规划研讨会(ESOP’07)。计算机科学课堂讲稿,第4421卷,第157-172页。施普林格(2007)·兹比尔1236.68042
[7] Albert,E.,Arenas,P.,Genaim,S.,Puebla,G.,Zanardini,D.:COSTA:Java字节码成本和终止分析器的设计与实现。在:第六届组件和对象形式化方法国际研讨会(FMCO’08)。计算机科学课堂讲稿,第5382号,第113-133页。施普林格(2007)
[8] Albert,E.,Arenas,P.,Genaim,S.,Puebla,G.,Zanardini,D.:Java字节码成本分析实验。字节码语义、验证、分析和转换第二次研讨会(Bytecode'07),第190卷,理论计算机科学电子笔记第1期。Elsevier(2007)·兹比尔1236.68042
[9] Albert,E.,Arenas,P.,Genaim,S.,Puebla,G.,Zanardini,D.:资源使用分析及其在资源认证中的应用。In:第九届国际安全分析与设计基础学校(FOSAD’09)。计算机科学课堂讲稿,第5705号,第258-288页。施普林格(2009)
[10] Albert,E.,Genaim,S.,Gómez-Zamalloa,M.:Java字节码的堆空间分析。摘自:第六届记忆管理国际研讨会(ISMM’07),第105-116页。ACM出版社(2007)
[11] Albert,E.,Genaim,S.,Gómez-Zamalloa,M.:使用垃圾收集对语言进行实时堆空间分析。第八届内存管理国际研讨会(ISMM’09)。ACM出版社(2009)
[12] Aspinall,D.、Gilmore,S.、Hofmann,M.、Sannella,D.、Stark,I.:智能设备的移动资源保障。In:安全、可靠和可互操作智能设备的构造和分析研讨会(CASSIS’04)。计算机科学课堂讲稿,第3362卷,第1-27页。斯普林格(2005)
[13] Bagnara,R.,Hill,P.M.,Zaffanella,E.:帕尔玛多面体图书馆:为硬件和软件系统的分析和验证提供一整套数字抽象。科学。计算。程序。72(1–2), 3–21 (2008) ·doi:10.1016/j.scico.2007.08.001
[14] Bagnara,R.,Pescetti,A.,Zacagnini,A.,Zaffanella,E.:PURRS:实现计算机代数支持,实现全自动最坏情况复杂性分析。技术报告(2005年)。网址:http://arXiv.org/abs/cs/0512056
[15] Batchelder,P.M.:线性差分方程简介。多佛出版社(1967)
[16] Ben-Amram,A.M.:具有差异约束的尺寸变化终止。ACM事务处理。程序。语言系统。30(3)、31(2008)(第16条)·doi:10.1145/1353445.1353450
[17] Ben-Amram,A.M.,Jones,N.D.,Kristiansen L.:线性、多项式还是指数?多项式时间内的复杂性推理。摘自:《逻辑与算法理论》,第四届欧洲可计算性会议(CiE’08)。计算机科学课堂讲稿,第5028卷,第67-76页。施普林格(2008)·Zbl 1142.68369号
[18] Benzinger,R.:自动化高阶复杂度分析。西奥。公司。科学。318(1–2), 79–103 (2004) ·Zbl 1071.68029号 ·doi:10.1016/j.tcs.2003.10.22
[19] Bonfante,G.,Marion,J.-Y,Moyen,J.-Y.:准解释和小空间边界。收录:第16届国际重写技术与应用会议(RTA'05)。计算机科学讲义,第3467卷,第150–164页(2005)·兹比尔1078.68041
[20] Braverman,M.:整数线性规划的终止。In:第18届计算机辅助验证(CAV’06)。计算机科学课堂讲稿,第4144卷,第372-385页。斯普林格(2006)·Zbl 1188.68183号
[21] Chander,A.、Espinosa,D.、Islam,N.、Lee,P.、Necula,G.:通过动态检查的静态验证实施资源边界。摘自:第14届欧洲规划研讨会(ESOP’05)。计算机科学课堂讲稿,第3444卷,第311-325页。施普林格(2005)·Zbl 1108.68419号
[22] 库索,P.,库索,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。摘自:ACM编程语言原理研讨会(POPL’77),第238-252页。ACM出版社(1977)
[23] Cousot,P.,Halbwachs,N.:程序变量之间线性约束的自动发现。摘自:ACM编程语言原理研讨会(POPL'78),第84-97页。ACM出版社(1978)
[24] Craig,S.-J.,Leuschel,M.:序言的自调优资源感知专业化。摘自:第七届ACM SIGPLAN国际声明性编程原则与实践会议(PPDP'05),第23-34页。ACM出版社(2005)
[25] Crary,K.,Weirich,S.:资源约束认证。摘自:第27届ACM编程语言原理研讨会(POPL'05),第184-198页。ACM出版社(2000)·Zbl 1323.68368号
[26] Debray,S.K.,Lin,N.W.:逻辑程序的成本分析。ACM事务处理。程序。语言系统。15(5), 826–875 (1993) ·数字对象标识代码:10.1145/161468.161472
[27] 弗洛伊德·R.W.:为程序赋予意义。载:《应用数学研讨会论文集》,第19卷,《计算机科学的数学方面》,第19-32页。美国数学学会,普罗维登斯,RI(1967)·Zbl 0189.50204号
[28] Gómez,G.,Liu,Y.A.:高阶语言的自动时限分析。摘自:ACM SIGPLAN 2002年部分评估和基于语义的程序操作研讨会论文集,第75-88页。ACM出版社(2002)
[29] Hermenegildo,M.、Puebla,G.、Bueno,F.、López-García,P.:使用抽象解释的集成程序调试、验证和优化(以及Ciao系统预处理器)。科学。计算。程序。58(1–2), 115–140 (2005) ·Zbl 1076.68540号 ·doi:10.1016/j.scico.2005.02.006
[30] Hickey,T.,Cohen,J.:自动化程序分析。J.ACM 35(1),185-220(1988)·Zbl 0632.68013号 ·doi:10.1145/42267.42275
[31] Hofmann,M.,Jost,S.:一阶函数程序堆空间使用的静态预测。摘自:第30届程序设计语言原理研讨会(POPL'03),第185-197页。ACM出版社,纽约(2003)·兹比尔1321.68180
[32] Jaffar,J.,Maher,M.J.:约束逻辑编程:一项调查。J.日志。程序。19/20, 503–581 (1994) ·doi:10.1016/0743-1066(94)90033-7
[33] Jones,N.D.,Gomard,C.K.,Sestoft,P.:部分评估和自动程序生成。普伦蒂斯·霍尔,纽约(1993)·Zbl 0875.68290号
[34] Komorovski,J.:部分演绎导论。In:逻辑元编程(Meta’92)。计算机科学课堂讲稿,第649卷,第49-69页。斯普林格,海德堡(1992)
[35] Kristiansen,L.,Jones,N.D.:数据流和算法复杂性。In:第一届欧洲可计算性会议(CiE’05)。计算机科学课堂讲稿,第3526卷,第263-274页(2005)·Zbl 1115.68052号
[36] Le Metayer,D.:ACE:自动复杂性评估器。ACM事务处理。程序。语言系统。10(2), 248–266 (1988) ·doi:10.1145/42190.42347
[37] Leuschel,M.:逻辑程序的部分评估和抽象解释的集成框架。ACM事务处理。程序。语言系统。26(3), 413–463 (2004) ·doi:10.1145/982158.982159
[38] Leuschel,M.,Bruynooghe,M.:通过部分演绎实现逻辑程序专业化:控制问题。理论与实践。日志。程序。2(4 & 5), 461–515 (2002) ·Zbl 1105.68331号 ·文件编号:10.1017/S147106840200145X
[39] Lloyd,J.W.,Shepherdson,J.C.:逻辑编程中的部分评估。J.日志。程序。11(3–4), 217–242 (1991) ·Zbl 0741.68030号 ·doi:10.1016/0743-1066(91)90027-M
[40] Luca,B.、Andrei,S.、Anderson,H.、Khoo,S.-C.:通过解决重复问题进行程序转换。摘自:ACM SIGPLAN部分评估和基于语义的程序操作研讨会(PEPM’06),第121-129页。ACM(2006)
[41] Marion,J.-Y.,Péchoux,R.:超解释,程序资源静态分析的语义方法。ACM事务处理。计算。日志。10(4)、31(2009)(第27条)·Zbl 1351.68061号 ·数字对象标识代码:10.1145/1555746.1555751
[42] Navas,J.、Mera,E.、López-García,P.、Hermenegildo,M.:逻辑程序的用户定义资源边界分析。参见:第23届逻辑编程国际会议(ICLP'07),LNCS第4670卷,第348-363页。斯普林格,海德堡(2007)
[43] Necula,G.:防卡密码。摘自:ACM编程语言原理研讨会(POPL 1997),第106–119页。ACM出版社,纽约(1997)
[44] Niggl,K.-H.,Wunderlich,H.:证明命令式程序的多项式时间和线性/多项式空间。SIAM J.计算。35(5), 1122–1147 (2006) ·Zbl 1100.68035号 ·doi:10.1137/S0097539704445597
[45] Podelski,A.,Rybalchenko,A.:合成线性排序函数的完整方法。在:第五届验证、模型检查和抽象解释国际会议(VMCAI'04)。计算机科学课堂讲稿,第239-251页。斯普林格,海德堡(2004)·Zbl 1202.68109号
[46] Puebla,G.,Ochoa,C.:多对照部分评估。摘自:第八届ACM-SIGPLAN国际声明式编程原理与实践研讨会(PPDP'06),第261-271页。ACM出版社,纽约(2006)
[47] Rosendahl,M.:自动复杂性分析。摘自:第四届ACM函数编程语言和计算机体系结构会议(FPCA’89),第144-156页。ACM出版社(1989)
[48] Rosendahl,M.:简单驾驶技术。摘自:Mogensen,T.,Schmidt,D.,Hal Sudborough,I.(编辑)《计算的本质》。计算机科学课堂讲稿,第2566卷,第404-419页。斯普林格,海德堡(2002)·Zbl 1026.68512号
[49] Sands,D.:天真的时间分析及其成本等效理论。J.日志。计算。5(4), 495–541 (1995) ·Zbl 0942.68623号 ·doi:10.1093/log/5.4.495
[50] Shamir,A.:在可约图中寻找最小割集的线性时间算法。SIAM J.计算。8(4), 645–655 (1979) ·Zbl 0422.05029号 ·数字对象标识代码:10.1137/0208051
[51] Spoto,F.、Hill,P.M.、Payet,E.:面向对象程序的路径长度分析。摘自:第一届抽象解释新兴应用国际研讨会(EAAI'06),理论计算机科学电子笔记。Elsevier,阿姆斯特丹(2006)
[52] 图尔钦:超级编译器的概念。ACM事务处理。程序。语言系统。8(3),292–325(1986)·Zbl 0598.68016号 ·doi:10.1145/5956.5957
[53] Wadler,P.:严格分析有助于时间分析。摘自:ACM编程语言原理研讨会(POPL'88),第119-132页。ACM出版社(1988)
[54] Wegbreit,B.:机械程序分析。Commun公司。ACM 18(9),69–73(1975)·Zbl 0306.68008号 ·数字对象标识代码:10.1145/361002.361016
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。