【24h】

Dynamic points-to sets

机译:动态点 - 设置

获取原文

摘要

In this paper, we compare the behavior of pointers in C programs, as approximated by static pointer analysis algorithms, with the actual behavior of pointers when these programs are run. In order to perform this comparison, we have implemented several well known pointer analysis algorithms, and we have built an instrumentation infrastructure for tracking pointer values during program execution.

Our experiments show that for a number of programs from the Spec95 and Spec2000 benchmark suites, the pointer information produced by existing scalable static pointer analyses is far worse than the actual behavior observed at run-time. These results have two implications. First, a tool like ours can be used to supplement static program understanding tools in situations where the static pointer information is too coarse to be usable. Second, a feedback-directed compiler can use profile data on pointer values to improve program performance by ignoring aliases that do not arise at run time (and inserting appropriate run-time checks to ensure safety). As an example, we were able to obtain a factor of 6 speedup on a frequently executed routine from m88ksim.

机译:

在本文中,我们比较在C程序指针的问题,通过静态指针分析算法作为近似,与指针的实际行为,当这些程序被运行。为了执行这种比较,我们已经实现了几个公知的指针分析算法,并且我们已经建立用于在程序执行期间跟踪指针值的仪器的基础设施。 >我们的实验表明,对于许多从节目SPEC95和SPEC2000基准测试套件,通过现有的可扩展静态指针分析产生的指针信息远比在运行时所观察到的实际行为更糟糕。这些结果有两个含义。首先,像我们这样的工具可以用来补充静态方案在静态指针信息太粗成可用的情况了解的工具。其次,定向反馈的编译器可以使用指针值分布数据在运行时忽略不出现的别名(并插入相应的运行检查,以确保安全),以提高程序性能。作为一个例子,我们能够从m88ksim获得上频繁执行的例行6加速的一个因素。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号