跳到主要内容
10.5555/1765931.1765948指导程序文章/章节视图摘要出版物页面会议记录acm-pubtype公司
第条

使用SPARK将Java点扩展到分析

出版:2003年4月7日出版历史

摘要

大多数指向分析的研究都是由不同的小组对不同的系统进行的,因此很难比较结果,也很难理解每个小组研究的各个因素之间的相互作用。此外,对Java的指向分析的研究远不如对C的深入,而且两者的权衡看起来也大不相同。我们引入了SPARK,这是一个灵活的框架,用于测试Java的点到分析。SPARK支持基于等式和子集的分析、字段灵敏度的变化、对声明类型的尊重、调用图构造的变化、离线简化和几种求解算法。SPARK由构建块组成,新的分析可以基于这些构建块。

我们在一项影响子基础点到分析的精度和效率的因素的实质性研究中演示了SPARK,包括这些因素之间的相互作用。我们的结果表明,与其他点分析实现相比,SPARK不仅具有灵活性和模块化,而且还提供了卓越的时间/空间性能。

工具书类

  1. 灰烬套房系列。http://www.sible.mcgill.ca/software/。谷歌学者谷歌学者
  2. jEdit:开源程序员的文本编辑器。http://www.jedit.org/。谷歌学者谷歌学者
  3. Soot:一个Java优化框架。http://www.sible.mcgill.ca/soot/。谷歌学者谷歌学者
  4. SPEC JVM98基准。http://www.spec.org/osg/jvm98/。谷歌学者谷歌学者
  5. A.Aiken、M.Fähndrich、J.S.Foster和Z.Su.Atoolkit,用于构建基于类型和约束的程序分析。1998年第二届国际研讨会汇编类型,第1473卷,共页LNCS公司,第78-96页,1998年。谷歌学者谷歌学者数字图书馆数字图书馆
  6. L.O.安徒生。C语言的程序分析与专业化1994年5月,哥本哈根大学博士论文。(DIKU报告94/19)。谷歌学者谷歌学者
  7. D.F.培根和P.F.斯威尼。C++虚拟函数调用的快速静态分析。1996年OOPSLA会议记录,第324-341页,1996年。谷歌学者谷歌学者数字图书馆数字图书馆
  8. M.达斯。基于统一的指针分析和方向分配。PLDI’00会议记录,ACM第35.5卷Sigplan通知2000年6月,第35-46页。谷歌学者谷歌学者数字图书馆数字图书馆
  9. J.Dean、D.Grove和C.Chambers。使用静态类层次分析优化面向对象程序。ECOOP’95——第九届欧洲会议面向对象编程,第952卷,共LNCS公司,第77-101页,1995年8月。谷歌学者谷歌学者数字图书馆数字图书馆
  10. A.Diwan、K.S.McKinley和J.E.B.Moss。基于类型的别名分析。PLDI’98会议记录,第106-117页,1998年。谷歌学者谷歌学者数字图书馆数字图书馆
  11. M.Emami、R.Ghiya和L.J.Hendren。上下文敏感的过程间点是指在函数指针存在的情况下进行分析。PLDI’94会议记录,第242-256页,1994年。谷歌学者谷歌学者数字图书馆数字图书馆
  12. M.Fähndrich、J.S.Foster、Z.Su和A.Aiken。包含约束图中的部分在线循环消除。1998年PLDI会议记录,第85-96页,1998年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  13. N.海因策。大型代码库分析:编译链接分析模型。http://cm.bell-labs.com/cm/cs/who/nch/cla.ps, 1999.谷歌学者谷歌学者
  14. N.Heintze和O.Tardieu。需求驱动的指针分析。PLDI’01会议记录,第24-34页,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  15. N.Heintze和O.Tardieu。使用CLA的超快混叠分析:每秒一百万行C代码。PLDI’01会议记录,第36.5卷,共页ACM SIGPLAN通知,第254-263页,2001年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  16. M.Hind。指针分析:我们还没有解决这个问题吗?PASTE’01会议记录,第54-61页,2001年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  17. D.Liang、M.Pennings和M.J.Harrold。扩展和评估流敏感点和上下文敏感点,以进行Java分析。PASTE’01会议记录,第73-79页,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  18. P.Pominville、F.Qian、R.Vallée-Rai、L.Hendren和C.Verbrugge。使用属性优化Java的框架。编译器构造(CC 2001),第2027卷,共页LNCS公司,第334-554页,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  19. A.Rountev和S.Chandra。用于分析缩放点的离线变量替换。PLDI’00会议记录,第47-56页,2000年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  20. A.Rountev、A.Milanova和B.G.Ryder。指向使用带注释约束的Java分析。2001年OOPSLA会议记录,第43-55页,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  21. M.Shapiro和S.Horwitz。快速准确的流动敏感点分析。1997年第24届POPL大会记录,第1-14页,1997年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  22. B.斯滕斯加德。指向几乎线性时间内的分析。96年第23届POPL大会记录,第32-41页,1996年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  23. Z.Su、M.Fähndrich和A.Aiken。投影合并:减少包含约束图中的冗余。第27届POPL'00会议记录2000年,第81-95页。谷歌学者谷歌学者数字图书馆数字图书馆
  24. V.Sundaresan、L.Hendren、C.Razafimahefa、R.Vallée-Rai、P.Lam、e.Gagnon和C.Godin。Java的实用虚拟方法调用解析。2000年OOPSLA会议记录,第264-280页,2000年。谷歌学者谷歌学者数字图书馆数字图书馆
  25. 一个好的但不是线性的集合合并算法的效率。美国医学会杂志, 22(2):215-225, 1975.谷歌学者谷歌学者数字图书馆数字图书馆
  26. R.Vallée-Rai、e.Gagnon、L.J.Hendren、P.Lam、P.Pominville和V.Sundaresan。使用Soot框架优化Java字节码:可行吗?编译器构造(CC 2000),第1781卷,共页LNCS公司2000年,第18-34页。谷歌学者谷歌学者数字图书馆数字图书馆
  27. J.Whaley和M.Lam。针对严格类型语言的高效基于包含的点分析。静态分析第九届国际研讨会,SAS 2002,第2477卷,共页LNCS公司,第180-195页,2002年。谷歌学者谷歌学者数字图书馆数字图书馆

建议

评论

登录选项

检查您是否可以通过登录凭据或您的机构访问本文。

登录

完全访问权限

  • 发布于

    封面图片指南会议记录
    CC’03:第12届编译器构造国际会议记录
    2003年4月
    335页
    国际标准图书编号:3540009043

    出版商

    Springer-Verlag公司

    柏林,海德堡

    出版历史

    • 出版:2003年4月7日

    限定符

    • 第条