首页> 外文期刊>ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages >Strictly Declarative Specification of Sophisticated Points-to Analyses
【24h】

Strictly Declarative Specification of Sophisticated Points-to Analyses

机译:严格声明的分析要点规范

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

We present the Doop framework for points-to analysis of Java programs. Doop builds on the idea of specifying pointer analysis algorithms declaratively, using Datalog: a logic-based language for defining (recursive) relations. We carry the declarative approach further than past work by describing the full end-to-end analysis in Datalog and optimizing aggressively using a novel technique specifically targeting highly recursive Datalog programs. As a result, Doop achieves several benefits, including full order-of-magnitude improvements in runtime. We compare Doop with Lhotak and Hendren's Paddle, which defines the state of the art for context-sensitive analyses. For the exact same logical points-to definitions (and, consequently, identical precision) Doop is more than 15x faster than Paddle for a 1-call-site sensitive analysis of the DaCapo benchmarks, with lower but still substantial speedups for other important analyses. Additionally, Doop scales to very precise analyses that are impossible with Paddle and Whaley et al.'s bddbddb, directly addressing open problems in past literature. Finally, our implementation is modular and can be easily configured to analyses with a wide range of characteristics, largely due to its declarativeness.
机译:我们提出了用于Java程序指向分析的Doop框架。 Doop建立在使用Datalog声明性地指定指针分析算法的思想的基础上:一种用于定义(递归)关系的基于逻辑的语言。我们通过在Datalog中描述完整的端到端分析,并使用专门针对高度递归的Datalog程序的新颖技术,对声明式方法进行了进一步的改进。结果,Doop获得了许多好处,包括在运行时中完全按量级改进。我们将Doop与Lhotak和Hendren's Paddle进行了比较,后者定义了上下文相关分析的最新技术。对于完全相同的逻辑指向定义(因此,也具有相同的精度),对于DaCapo基准的1个呼叫点敏感分析,Doop比Paddle快15倍以上,而对于其他重要分析而言,Doop的速度却较低,但仍可观。此外,Doop可扩展到非常精确的分析,这是Paddle和Whaley等人的bddbddb无法实现的,直接解决了过去文献中的未解决问题。最后,我们的实现是模块化的,并且可以很容易地配置为具有广泛特征的分析,这在很大程度上是由于其声明性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号