×

安徒生分析在实践中的复杂性。 (英语) Zbl 1248.68154号

Palsberg,Jens(编辑)等人,《静态分析》。2009年8月9日至11日,第16届国际研讨会,SAS 2009,美国加利福尼亚州洛杉矶。诉讼程序。柏林:施普林格出版社(ISBN 978-3-642-03236-3/pbk)。计算机科学讲座笔记5673205-221(2009)。
摘要:虽然安徒生的分析点最严格的最坏情况复杂度几乎是立方的,但该分析在现实世界的代码上似乎具有更好的可扩展性。我们研究了有助于解释这一差距的算法因素。特别是,我们表明,只要输入程序是稀疏的,即它最多有对每个变量进行解引用的语句和稀疏流图,一个简单的算法就可以在最坏情况下的二次时间内计算Andersen分析。然后我们认为,对于像Java这样的强类型语言,典型的结构使得程序可能是稀疏的,并且我们通过一组Java程序给出了实证测量,证实了这一假设。我们还讨论了各种标准实现技术如何产生进一步的常数加速。
有关整个系列,请参见[Zbl 1169.68005号].

MSC公司:

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

参考文献:

[1] Andersen,L.O.:C编程语言的程序分析和专业化。哥本哈根大学DIKU博士论文(1994年)
[2] Apache Ant、,http://ant.apache.org
[3] Berndl,M.,Lhoták,O.,Qian,F.,Hendren,L.,Umanee,N.:使用BDD进行分析。In:编程语言设计与实现会议(2003年6月)·doi:10.1145/781131.781144
[4] Blackburn,S.M.、Garner,R.、Hoffman,C.、Khan,A.M.、McKinley,K.S.、Bentzur,R.,Diwan,A.、Feinberg,D.、Frampton,D.、Guyer,S.Z.、Hirzel,M.、Hosking,A.、Jump,M.,Lee,H.,Moss,J.E.B.、Phansalkar,A.、Stefanović,D.、VanDrunen,T.、von Dincklage,D.、Wiedermann,B.:DaCapo基准:Java基准测试开发与分析。参加:面向对象编程、系统、语言和应用会议(OOPSLA)(2006年)·doi:10.1145/1167473.1167488
[5] Chaudhuri,S.:递归状态机的子三次算法。在:POPL 2008:第35届ACM SIGPLAN-SIGCT编程语言原理年度研讨会论文集,第159–169页。ACM,纽约(2008)·Zbl 1295.68142号
[6] Fändrich,M.,Foster,J.S.,Su,Z.,Aiken,A.:包含约束图中的部分在线循环消除。In:编程语言设计与实现会议(PLDI),加拿大蒙特利尔(1998年6月)·doi:10.1145/277650.277667
[7] Fecht,C.,Seidl,H.:传播差异:分布式约束系统的有效新不动点算法。《北欧计算机杂志》5(4),304–329(1998)·Zbl 0918.68009号
[8] Goldsmith,S.F.、Aiken,A.S.、Wilkerson,D.S.:测量经验计算复杂性。收录于:ESEC-FSE 2007:欧洲软件工程会议第六届联席会议和ACM SIGSOFT关于软件工程基础的研讨会的会议记录,第395-404页。ACM出版社,纽约(2007)
[9] Hardekopf,B.,Lin,C.:蚂蚁和蚱蜢:对数百万行代码进行快速准确的指针分析。收录于:PLDI,第290-299页(2007年)·数字对象标识代码:10.1145/1250734.1250767
[10] Heintze,N.,McAllester,D.:线性时间次传递控制流分析。SIGPLAN不是。 32(5), 261–272 (1997) ·数字对象标识代码:10.1145/258916.258939
[11] Heintze,N.,McAllester,D.:关于子类型和流分析中的立方瓶颈。收录于:LICS 1997:IEEE第十二届计算机科学逻辑年会论文集,1997年,美国华盛顿特区,第342页。IEEE计算机学会,Los Alamitos(1997)·Zbl 1369.68102号
[12] Heintze,N.,Tardieu,O.:需求驱动的指针分析。In:编程语言设计与实现会议(PLDI),犹他州雪鸟(2001年6月)·数字对象标识代码:10.1145/378795.378802
[13] Heintze,N.,Tardieu,O.:使用CLA的超快混叠分析:每秒一百万行C代码。In:编程语言设计与实现会议(PLDI),犹他州雪鸟(2001年6月)·doi:10.145/378795.378855
[14] Kodumal,J.,Aiken,A.:Banshee:一个可扩展的基于约束的分析工具包。收录:Hankin,C.,Siveroni,I.(编辑)SAS 2005。LNCS,第3672卷,第218-234页。斯普林格,海德堡(2005)·doi:10.1007/11547662_16
[15] Lhoták,O.:Spark:一个灵活的Java指向分析框架。麦吉尔大学硕士论文(2002年12月)
[16] Lhoták,O.,Hendren,L.:使用Spark缩放Java点到分析。收录:Hedin,G.(编辑)CC 2003。LNCS,第2622卷,第153-169页。斯普林格,海德堡(2003)·Zbl 1032.68905号 ·doi:10.1007/3-540-36579-6_12
[17] Lhoták,O.,Hendren,L.:分析的上下文敏感点:值得吗?收录:Mycroft,A.,Zeller,A.(编辑)CC 2006。LNCS,第3923卷,第47-64页。斯普林格,海德堡(2006)·doi:10.1007/11688839_5
[18] Milanova,A.,Rountev,A.,Ryder,B.G.:java点到分析的参数化对象敏感性。ACM事务处理。柔和。工程方法。 14(1), 1–41 (2005) ·doi:10.1145/1044834.1044835
[19] 皮尔斯,D.J.:一些有向图算法及其在指针分析中的应用。伦敦大学帝国理工医学院博士论文(2005年)
[20] Pearce,D.J.、Kelly,P.H.J.、Hankin,C.:指针分析的在线循环检测和差异传播。收录:第三届IEEE源代码分析和操作国际研讨会论文集(2003年)·doi:10.1109/SCAM.2003.1238026
[21] Reps,T.:通过图形可达性进行程序分析。信息与软件技术40(11-12),701-726(1998)·doi:10.1016/S0950-5849(98)00093-7
[22] Rountev,A.,Milanova,A.,Ryder,B.G.:指向使用注释约束的Java分析。参加:佛罗里达州坦帕湾面向对象编程、系统、语言和应用会议(OOPSLA)(2001年10月)·doi:10.1145/504282.504286
[23] Shivers,O.:方案中的控制流分析。参加:编程语言设计与实现会议(PLDI)(1988年)·数字标识代码:10.1145/53990.54007
[24] Sridharan,M.,Bodík,R.:基于精炼的上下文敏感点——Java分析。In:编程语言设计与实现会议(PLDI)(2006年)·数字对象标识代码:10.1145/1133981.1134027
[25] Sridharan,M.、Gopan,D.、Shan,L.、Bodík,R.:需求驱动的Java分析点。参加:面向对象编程、系统、语言和应用会议(OOPSLA)(2005年)·doi:10.1145/1094811.1094817
[26] Steensgaard,B.:指向几乎线性时间内的分析。In:ACM编程语言原理研讨会(POPL)(1996年)·数字对象标识代码:10.1145/237721.237727
[27] Su,Z.,Fähndrich,M.,Aiken,A.:投影合并:减少包含约束图中的冗余。2000年1月,马萨诸塞州波士顿,美国计算机学会编程语言原理研讨会,第81-95页(2000)·Zbl 1323.68423号 ·数字对象标识代码:10.1145/325694.325706
[28] T.J.Watson分析图书馆(WALA),网址:http://wala.sf.net
[29] Whaley,J.,Lam,M.S.:使用二进制决策图进行基于克隆的上下文敏感指针别名分析。In:编程语言设计与实现会议(PLDI)(2004年)·doi:10.1145/996841.996859
[30] 朱,J.,卡尔曼,S.:重新审视符号指针分析。在:编程语言设计与实现会议(PLDI)(2004)·数字对象标识代码:10.1145/996841.996860
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。