提升缺陷定位精度:基于谓词分层覆盖矩阵的新方法

需积分: 9 0 下载量 195 浏览量 更新于2024-09-07 收藏 1013KB PDF 举报
本文主要探讨了一种创新的缺陷定位方法,名为"基于谓词分层覆盖矩阵的缺陷定位",它针对程序频谱动态缺陷定位领域的问题进行了深入研究。传统的方法主要分为两类:一类是基于可执行语句覆盖,这类方法忽略了谓词错误与执行结果之间的关联性;另一类是基于谓词覆盖,虽然它能针对谓词进行分析,但对于非谓词缺陷的定位能力有限。 作者们在分析现有方法的基础上,提出了三个关键改进。首先,他们意识到谓词错误与执行结果之间的关联性对于定位缺陷至关重要,因此他们在算法设计中引入了这种关联性信息,增强了定位的精确度。其次,他们引入了谓词分层覆盖的概念,通过对覆盖矩阵中的基本块进行细致的细分和分层处理,这有助于捕捉到基本块之间的依赖关系以及层级特性,而不仅仅是孤立的基本块。 最后,这两种思想被结合起来,形成了"谓词分层覆盖算法"(Phcm)。该方法能够更好地识别和定位缺陷,尤其是那些非谓词的隐藏缺陷。为了验证这种方法的有效性,作者选择了西门子程序集作为实验对象,通过与传统的可执行语句覆盖、谓词覆盖以及其他两种方法进行对比实验,结果显示,基于谓词分层覆盖矩阵的缺陷定位方法显著提高了定位精度,并减少了代码检查的工作量。 这篇论文的重要贡献在于提供了一种新的动态缺陷定位策略,它综合了程序频谱分析和谓词层面的深入理解,有效地解决了传统方法在定位复杂缺陷时的不足。这对于软件开发过程中的故障检测和修复具有实际意义,有助于提高软件质量并降低维护成本。通过这篇研究,我们可以看到作者们对软件工程领域中动态缺陷定位技术的持续改进和创新。