×

使用差异约束的命令式程序的复杂性和资源限制分析。 (英文) 兹比尔1409.68076

摘要:在文献中,差异约束被用于终止分析,它们表示形式为\(x'\leqy+c\)的关系不等式,并描述当前状态下的\(x\)的值最多为前一状态下的值\(y\)加上一些常数\(c\in\mathbb{Z}\)。我们认为,差异约束对于复杂性和资源约束分析也是一个很好的选择,因为命令式程序的复杂性通常由计数器增量和重置引起,可以通过差异约束自然建模。在本文中,我们提出了一种基于差异约束的边界分析。我们做出了以下贡献:(1)我们的分析处理了当前方法无法处理的实际相关性很高的边界分析问题:我们将边界分析的范围扩展到一类具有挑战性但自然的循环迭代模式,这些模式通常出现在解析和字符串匹配例程中。(2) 我们提倡使用边界分析来推断不变量:我们的稳健性证明算法通过边界分析获得不变量,推断出的不变量反过来用于获得边界。因此,我们的边界分析不依赖于外部技术来生成不变量。(3) 我们证明了差异约束是一种适用于自动复杂性和资源约束分析的抽象程序模型:我们提供了从命令代码中获取差异约束程序的有效抽象技术。(4) 我们对最新的边界分析工具进行了彻底的实验比较:我们建立了一个工具比较:(a)真实C代码的大型基准,(b)从边界分析文献中获得的示例构建的基准,以及(C)我们在真实源代码中发现的具有挑战性的迭代模式的基准。(5) 我们的分析比现有方法更具可伸缩性:我们讨论如何实现可伸缩性。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
65年第68季度 算法和问题复杂性分析
68吨15 定理证明(演绎、解析等)(MSC2010)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Albert,E.,Arenas,P.,Genaim,S.,Puebla,G.,Zanardini,D.:面向对象字节码程序的成本分析。西奥。计算。科学。413(1), 142-159 (2012) ·兹比尔1236.68042 ·doi:10.1016/j.tcs.2011.07.009
[2] Alias,C.、Darte,A.、Feautrier,P.、Gonnord,L.:流程图程序的多维排名、程序终止和复杂性界限。摘自:Cousot,R.,Martel,M.(编辑)《静态分析:第17届国际研讨会》,2010年9月14日至16日,法国佩皮尼昂,SAS 2010。诉讼程序。施普林格-柏林-海德堡,柏林(2010)·Zbl 1306.68017号
[3] Bagnara,R.,Mesnard,F.,Pescetti,A.,Zaffanella,E.:线性排序函数自动合成的新视角。Inf.计算。215, 47-67 (2012) ·Zbl 1251.68073号 ·doi:10.1016/j.ic.2012.03.003
[4] Ben-Amram,A.M.:具有差异约束的尺寸变化终止。ACM事务处理。程序。语言系统。托帕拉斯,30(3),(2008)。doi:10.1145/1353445.1353450·Zbl 0599.68046号
[5] Ben-Amram,A.M.,Lee,C.S.:多项式时间内的程序终止分析。ACM事务处理。程序。语言系统。TOPLAS 29(1),5(2007)·doi:10.1145/1180475.1180480
[6] Brockschmidt,M.,Emmes,F.,Falke,S.,Fuhs,C.,Giesl,J.:分析整数程序的运行时和大小复杂性。ACM事务处理。程序。语言系统。38(4), 13:1-13:50 (2016) ·doi:10.1145/2866575
[7] Carbonneaux,Q.、Hoffmann,J.、Shao,Z.:成分认证资源界限。输入:PLDI(2015)
[8] Colcombet,T.,Daviaud,L.,Zuleger,F.:尺寸变化抽象和最大加自动机。收录于:MFCS,第208-219页(2014年)·Zbl 1425.68190号
[9] Coppa,E.,Demetrescu,C.,Finocchi,I.:输入敏感分析。收录于:PLDI,第89-98页(2012年)·兹比尔1236.68042
[10] Flores-Montoya,A.,Hähnle,R.:使用成本方程对复杂程序进行资源分析。载于:APLAS,第275-295页(2014年)·Zbl 1453.68047号
[11] Gulwani,S.、Jain,S.和Koskinen,E.:边界分析的控制流精化和过程不变量。在:PLDI,第375-385页(2009年)
[12] Gulwani,S.,Juvekar,S.:使用向后符号执行的边界分析。技术报告MSR-TR-2004-95,Microsoft Research(2009)
[13] Gulwani,S.、Lev-Ami,T.、Sagiv,M.:跟踪分区大小的组合框架。收录于:POPL,第239-251页(2009年)·Zbl 1315.68094号
[14] Gulwani,S.,Mehra,K.K.,Chilimbi,T.M.:速度:程序计算复杂性的精确和有效静态估计。收录于:POPL,第127-139页(2009年)·Zbl 1315.68095号
[15] Gulwani,S.,Zuleger,F.:可达性边界问题。收录于:PLDI,第292-304页(2010年)
[16] Hoffmann,J.、Aehlig,K.、Hofmann,M.:多元摊销资源分析。ACM事务处理。程序。语言系统。34(3), 14 (2012) ·Zbl 1284.68132号 ·doi:10.1145/2362389.2362393
[17] http://ctuning.org/wiki/index.php/CTools:CBench
[18] http://forsyte.at/software/loopus/
[19] http://forsyte.at/static/people/sinn/loopusJAR/
[20] https://github.com/s-falke/llvm2基特尔
[21] https://www.spec.org/cpu2006/
[22] Jin,G.、Song,L.、Shi,X.、Scherpelz,J.、Lu,S.:理解和检测现实世界的性能缺陷。收录于:PLDI,第77-88页(2012年)
[23] Lattner,C.,Adve,V.S.:LLVM:终身程序分析和转换的编译框架。收录:CGO,第75-88页(2004年)
[24] Magill,S.,Tsai,M.-H,Lee,P.,Tsay,Y.-K:堆操作程序的自动数字抽象。收录于:POPL,第211-222页(2010年)·Zbl 1312.68063号
[25] Podelski,A.,Rybalchenko,A.:合成线性排序函数的完整方法。收录于:VMCAI,第239-251页(2004年)·Zbl 1202.68109号
[26] Seidl,H.,Gawlitza T.M.,Schwarz,M.:参数化策略迭代。收录:Kutsia,T.,Voronkov,A.(编辑)SCSS 2014。第六届软件科学符号计算国际研讨会,EPiC计算系列第30卷,第62-76页。EasyChair(2014年)
[27] Sinn,M.,Zuleger,F.,Veith,H.:差异约束:命令式程序复杂性分析的充分抽象。收录于:FMCAD,第144-151页(2015)
[28] Sinn,M.、Zuleger,F.、Veith,H.:用于界限分析和摊销复杂性分析的简单且可扩展的静态分析。CoRR,abs/1401.5842(2014)·Zbl 1409.68076号
[29] Sinn,M.、Zuleger,F.、Veith,H.:用于界限分析和摊销复杂性分析的简单且可扩展的静态分析。收录于:CAV,第745-761页。施普林格(2014)·Zbl 0599.68046号
[30] Sinn,M.:命令式程序的自动化复杂性分析。博士论文,TU Wien,Wien信息学院(2016年)
[31] Smith,G.:基于定量信息流。收录于:FOSSACS,第288-302页(2009年)·Zbl 1234.68101号
[32] Tarjan,R.E.:摊销的计算复杂性。SIAM J.代数离散方法6(2),306-318(1985)·Zbl 0599.68046号 ·doi:10.1137/0606031
[33] Wilhelm,R.、Engblom,J.、Ermedahl,A.、Holsti,N.、Thesing,S.、Whalley,D.、Bernat,G.、Ferdinand,C.、Heckmann,R.,Mitra,T.、Mueller,F.、Puaut,I.、Puschner,P.、Staschulat,J.和Stenström,P.:方法和工具调查的最坏执行时间问题概述。ACM事务处理。嵌入。计算。系统。7(3), 36 (2008). doi:10.1145/1347375.1347389·doi:10.1145/1347375.1347389
[34] Zaparanuks,D.,Hauswirth,M.:算法分析。收录于:PLDI,第67-76页(2012年)
[35] Zuleger,F.,Gulwani,S.,Sinn,M.,Veith,H.:具有大小变化抽象的命令式程序的边界分析。收录于:SAS,第280-297页(2011年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。