首页> 外文会议>Static analysis. >Liveness-Based Pointer Analysis
【24h】

Liveness-Based Pointer Analysis

机译:基于活动度的指针分析

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

摘要

Precise flow- and context-sensitive pointer analysis (FCPA) is generally considered prohibitively expensive for large programs; most tools relax one or both of the requirements for scalability. We argue that precise FCPA has been over-harshly judged-the vast majority of points-to pairs calculated by existing algorithms are never used by any client analysis or transformation because they involve dead variables. We therefore formulate a FCPA in terms of a joint points-to and liveness analysis which we call L-FCPA. We implemented a naive L-FCPA in GCC-4.6.0 using linked lists. Evaluation on SPEC2006 showed significant increase in the precision of points-to pairs compared to GCC's analysis. Interestingly, our naive implementation turned out to be faster than GCC's analysis for all programs under 30kLoC. Further, L-FCPA showed that fewer than 4% of basic blocks had more than 8 points-to pairs. We conclude that the usable points-to information and the required context information is small and sparse and argue that approximations (e.g. weakening How or context sensitivity) are not only undesirable but also unnecessary for performance.
机译:对于大型程序,通常认为精确的流和上下文相关指针分析(FCPA)过于昂贵。大多数工具放宽了对可伸缩性的一项或两项要求。我们认为,精确的FCPA已经过分判断-现有算法计算出的绝大部分“点对”对从未用于任何客户端分析或转换,因为它们涉及无效变量。因此,我们根据联合点和活动分析(我们称为L-FCPA)来制定FCPA。我们使用链表在GCC-4.6.0中实施了幼稚的L-FCPA。对SPEC2006的评估显示,与GCC的分析相比,点对对的精度显着提高。有趣的是,对于30kLoC以下的所有程序,我们的天真的实现都比GCC的分析要快。此外,L-FCPA显示少于4%的基本块具有超过8个点对点。我们得出的结论是,可用的指向信息和所需的上下文信息很小且稀疏,并认为近似值(例如,削弱How或上下文敏感性)不仅是不受欢迎的,而且对于性能而言也是不必要的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号