偶然性正确测试用例在错误定位中的研究与改进

需积分: 0 0 下载量 52 浏览量 更新于2024-08-03 收藏 529KB PDF 举报
"基于偶然性正确测试用例发现的错误定位方法.pdf" 软件错误定位是软件调试过程中的关键步骤,旨在迅速识别出导致程序错误的代码行。基于程序谱的错误定位方法,如Covering Fault Localization (CFL),利用测试用例覆盖的代码行信息和测试结果来帮助定位错误。CFL方法尽管较早提出,但因其在处理多错误情况时仍能有效工作,近年来持续受到关注。 偶然性正确测试用例是指那些在执行到错误代码行时仍然能通过测试(即输出与预期相同)的测试用例。这些用例可能会误导错误定位方法,因为它们掩盖了潜在的错误。已有许多研究指出偶然性正确测试用例对CFL方法的影响,并提出了各种判断和处理这些测试用例的方法。然而,现有的方法存在误判率高、对CFL定位效果改善有限或通用性不足的问题。 本文针对这一现象提出了一种新的偶然性正确测试用例判断方法,该方法的误判率为0,意味着它能更准确地识别出那些可能隐藏错误的测试用例。同时,研究还改进了前人关于偶然性正确测试用例的错误定位策略,旨在提高CFL方法的定位效率。通过对实验数据的分析,验证了改进后的错误定位方法能有效提升CFL的性能。 2.1部分介绍了经典的基于谱的错误定位方法,如Tarantula和Ochiai算法。这些方法通过计算每个代码行的嫌疑度来确定最有可能包含错误的代码行。嫌疑度通常基于测试用例覆盖率和失败测试用例的影响力来计算。 该研究贡献在于提供了一种更为精确的偶然性正确测试用例检测策略,并优化了错误定位过程,以减少误报并增强CFL方法在软件调试中的实用性。这有助于开发者更快地找到并修复代码中的错误,从而提高软件质量。