文章

一种新的指针分析空间及其在缺陷发现中的应用

马西奥·巴斯;布兰德,丹尼尔;乌格拉纳姆·斯里达尔;斯蒂芬·爱德华兹。

当今程序的规模不断扩大,其中包含的错误数量也在不断增加。单独测试很少能够清除所有错误,许多错误潜伏在难以测试的角落案例中。另一个重要的选择是静态分析,在静态分析中,不需要运行程序就可以检查程序的正确性属性。虽然静态分析无法捕获所有错误,但它可以捕获许多测试会忽略的微妙问题。我们提出了一个新的指针分析抽象空间,这是C语言和类似语言静态分析的重要组成部分。我们确定了任何抽象的两个主要组件,即对语句顺序建模和如何对条件建模,然后提出了一个新的程序模型,使我们能够在此空间中探索不同的抽象。我们的赋值取图表示对内存的读取和写入,而不是传统的指向关系的点,并导致可以在任何上下文中使用的简明函数摘要。它的灵活性支持许多新的分析技术,并在精度和速度之间进行了不同的权衡。我们给出了抽象空间的细节,解释了现有算法的适用范围,描述了基于赋值取图的各种新分析算法,最后给出的实验结果表明,与传统的流敏感分析相比,我们的语句排序流软件抽象运行速度更快,结果更精确。

文件夹

另发布于

标题
计算机程序设计科学
内政部
https://doi.org/10.1016/j.scico.2009.08.002

关于本作品的更多信息

学术单位
计算机科学
发布于此处
2011年8月23日