...
【24h】

Refinement-based context-sensitive points-to analysis for Java

机译:Java的基于优化的上下文相关指向分析

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

We present a scalable and precise context-sensitive points-to analysis with three key properties: (1) filtering out of unrealizable paths, (2) a context-sensitive heap abstraction, and (3) a context-sensitive call graph. Previous work [21] has shown that all three properties are important for precisely analyzing large programs, e.g., to show safety of downcasts. Existing analyses typically give up one or more of the properties for scalability. We have developed a refinement-based analysis that succeeds by simultaneously refining handling of method calls and heap accesses, allowing the analysis to precisely analyze important code while entirely skipping irrelevant code. The analysis is demanddriven and client-driven, facilitating refinement specific to each queried variable and increasing scalability. In our experimental evaluation, our analysis proved the safety of 61% more casts than one of the most precise existing analyses across a suite of large benchmarks. The analysis checked the casts in under 13 minutes per benchmark (taking less than 1 second per query) and required only 35MB of memory, far less than previous approaches.
机译:我们提供具有三个关键属性的可伸缩且精确的上下文相关指向分析:(1)过滤出无法实现的路径,(2)上下文相关的堆抽象,以及(3)上下文相关的调用图。先前的工作[21]已经表明,所有三个属性对于精确分析大型节目非常重要,例如,显示下流的安全性。现有分析通常为了可伸缩性而放弃一个或多个属性。我们已经开发了一种基于优化的分析,该分析通过同时优化方法调用和堆访问的处理而成功,从而使该分析能够精确地分析重要的代码,同时完全跳过无关的代码。该分析是由需求驱动和由客户驱动的,从而有助于针对每个查询变量进行细化并增加可伸缩性。在我们的实验评估中,我们的分析证明,与一系列大型基准测试中最精确的现有分析之一相比,石膏的安全性高出61%。该分析在每个基准测试不到13分钟的时间内检查了强制类型转换(每个查询花费不到1秒的时间),仅需要35MB的内存,远远少于以前的方法。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号