-
题名基于机器学习识别偶然正确测试用例
- 1
-
-
作者
田帅华
李征
吴永豪
刘勇
-
机构
北京化工大学信息科学与技术学院
-
出处
《计算机科学》
CSCD
北大核心
2024年第6期68-77,共10页
-
基金
国家自然科学基金(61902015,61872026)。
-
文摘
基于频谱的故障定位(Spectrum-Based Fault Localization,SBFL)技术已被广泛研究,可以帮助开发人员快速找到程序错误位置,以降低软件测试成本。然而,测试套件中存在一种特殊的测试用例,其执行了错误的语句但能输出符合预期的结果,这种测试用例被称为偶然正确(Coincidental Correct,CC)测试用例。CC测试用例会对SBFL技术的性能产生负面影响。为了减轻CC产生的负面影响,提升SBFL技术性能,文中提出了一种基于机器学习的CC测试用例识别方法(CC test cases Identification via Machine Learning,CCIML)。CCIML结合怀疑度公式特征和程序静态特征来识别CC测试用例,从而提高SBFL技术的故障定位精度。为了评估CCIML方法的性能,文中基于Defects4J数据集进行对比实验。实验结果表明,CCIML方法识别CC测试用例的平均召回率、准确率和F 1分数分别为63.89%,70.16%和50.64%,该结果优于对比方法。除此之外,采用清洗和重标策略处理CCIML方法识别出的CC测试用例后,最终取得的故障定位效果也优于对比方法。其中,在清洗策略和重标策略下,错误语句怀疑度值排在第一位的数量分别为328和312,相比模糊加权K近邻(Fuzzy Weighted K-Nearest Neighbor,FW-KNN)方法,定位到的故障数量分别增长了124.66%,235.48%。
-
关键词
软件测试
故障定位
机器学习
偶然正确测试用例
特征提取
-
Keywords
Software debugging
Fault localization
Machine learning
coincidental correct test case
Feature extraction
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-