首页> 外文期刊>Science of Computer Programming >A novel analysis space for pointer analysis and its application for bug finding
【24h】

A novel analysis space for pointer analysis and its application for bug finding

机译:指针分析的新型分析空间及其在错误发现中的应用

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

摘要

The size of today's programs continues to grow, as does the number of bugs they contain. Testing alone is rarely able to flush out all bugs, and many lurk in difficult-to-test corner cases. An important alternative is static analysis, in which correctness properties of a program are checked without running it. While it cannot catch all errors, static analysis can catch many subtle problems that testing would miss.rnWe propose a new space of abstractions for pointer analysis-an important component of static analysis for C and similar languages. We identify two main components of any abstraction-how to model statement order and how to model conditionals, then present a new model of programs that enables us to explore different abstractions in this space. Our assign-fetch graph represents reads and writes to memory instead of traditional points-to relations and leads to concise function summaries that can be used in any context. Its flexibility supports many new analysis techniques with different trade-offs between precision and speed.rnWe present the details of our abstraction space, explain where existing algorithms fit, describe a variety of new analysis algorithms based on our assign-fetch graphs, and finally present experimental results that show our flow-aware abstraction for statement ordering both runs faster and produces more precise results than traditional flow-insensitive analysis.
机译:如今,程序的规模以及所包含错误的数量也在不断增长。单独进行测试很少能够清除所有错误,并且在难以测试的极端情况下也会潜伏许多。一个重要的选择是静态分析,其中不运行程序就检查程序的正确性。静态分析虽然不能捕获所有错误,但可以捕获许多测试可能会遗漏的细微问题。我们为指针分析提供了一个新的抽象空间,这是C语言和类似语言静态分析的重要组成部分。我们确定了任何抽象的两个主要组成部分:如何对语句顺序进行建模以及如何对条件语句进行建模,然后提出一种新的程序模型,使我们能够探索该空间中的不同抽象。我们的分配获取图表示对存储器的读取和写入,而不是传统的点对点关系,并导致可以在任何上下文中使用的简洁函数摘要。它的灵活性支持许多新的分析技术,这些技术在精度和速度之间进行了折衷。rn我们提供了抽象空间的详细信息,解释了现有算法的适用范围,并基于分配-获取图描述了各种新的分析算法,最后给出了实验结果表明,与传统的对流量不敏感的分析相比,我们对语句排序的流程感知抽象具有更快的运行速度和更精确的结果。

著录项

  • 来源
    《Science of Computer Programming》 |2010年第11期|P.921-942|共22页
  • 作者单位

    Department of Computer Science, Columbia University, New York, NY, United States IBM T.J. Watson Research Center, Yorktown Heights, NY, United States;

    rnIBM T.J. Watson Research Center, Yorktown Heights, NY, United States;

    rnIBM T.J. Watson Research Center, Hawthorne, NY, United States;

    rnDepartment of Computer Science, Columbia University, New York, NY, United States;

  • 收录信息 美国《科学引文索引》(SCI);美国《工程索引》(EI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    static analysis; pointer analysis; summary-based analysis; bug-finding;

    机译:静态分析;指针分析;基于摘要的分析;发现错误;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号