Page 142 - 《软件学报》2020年第11期
P. 142
3458 Journal of Software 软件学报 Vol.31, No.11, November 2020
问题的成功测试用例的方法,并度量出了成功测试用例和失败测试用例之间的相似度,这个相似度是基于
Euclidean 标准的 .Miao 等人 [37] 采用聚类的 思想对不同 类型的测试 用例进行分 类 , 从而有助 于发现 .
Bandyopadhyay [38] 对具有偶然正确性问题的成功测试用例进行预测,并根据预测结果提升错误定位的有效性.
Lei 等人 [39,40] 系统研究了测试用例集的效能,并提出了偶然正确性问题是影响错误定位效能最大的因素.本文方
法关注程序覆盖信息矩阵的重塑和优化.本文方法不关注优化具有偶然正确性问题的成功测试用例,且采用的
TDIDF 技术不能根除偶然正确性,然而,本文方法对信息矩阵元素的重新赋值,抑制了具有偶然正确性问题的成
功测试用例的负效应,从而间接地缓解了偶然正确性问题.
此外,TF-IDF 技术也被应用到缺陷查找等工作.Saha 等人 [41] 提出 BLUiR,利用错误报告的错误相似数据进
行缺陷查找.Wang 等人 [42] 提出用于查找相关错误文件的方法 AmaLgam+.Wang 等人 [43] 还提出了 VSM composite
方法,通过分析 AspectJ、Eclipse 和 SWT 的错误报告来进行相关的关键报告的检索.实验中,VSM composite 方法和
基于 TF-IDF 技术的 VSM natural 方法进行了比较.这些方法主要使用 TF-IDF 技术来处理错误报告.本文方法与这
些方法不同,将 TF-IDF 技术用于信息覆盖矩阵的重构,从而构建出信息表达能力更强的信息模型,以此提升错
误定位效能.
5 结 论
本文提出了一种基于词频-逆文档频率的错误定位方法.该方法以 TF-IDF 技术识别出语句执行的影响程
度,重新构建具有影响识别度的信息模型,并结合 SFL 的可疑性度量方法构建语句的可疑值排序.实验结果表明,
与 5 种典型的 SFL 定位方法对比,基于 TF-IDF 的方法能够显著缩减代码检查的范围,大幅提升错误定位性能.
未来的工作包括方法优化和多错误定位的应用,并进一步提高其准确性.
References:
[1] Wong WE, Gao R, Li Y, Rui A. A survey on software fault localization. IEEE Trans. on Software Engineering, 2016,42(8):
707−740.
[2] Xie X, Kuo FC, Chen TY, Yoo S, Harman M. Provably optimal and human-competitive results in SBSE for spectrum based fault
localisation. In: Proc. of the 5th Symp. on Search-based Software Engineering. St. Petersburg, 2013. 224−238.
[3] Acharya M, Robinson B. Practical change impact analysis based on static program slicing for industrial software systems. In: Proc.
of the Int’l Conf. on Software Engineering, Vol.111. 2011. 746−765.
[4] Pearson S, Campos J, Just R, et al. Evaluating and improving fault localization. In: Proc. of the Int’l Conf. on Software Engineering.
Buenos Aires, 2017. 609−620.
[5] Yoo S. Evolving human competitive spectra-based fault localisation techniques. In: Proc. of the 4th Int’l Symp. on Search-based
Software Engineering. 2012. 244−258.
[6] Zhang Z, Tan QP, Mao XG, Lei Y, Chang X, Xue JX. Effective fault localization approach based on enhanced contexts. Ruan Jian
Xue Bao/Journal of Software, 2019,30(2):266−281 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5677.
htm [doi: 10.13328/j.cnki.jos.005677]
[7] Lee HJ, Naish L, Ramamohanarao K. Effective software bug localization using spectral frequency weighting function. In: Proc. of
the 34th Annual Computer Software and Applications Conf. (COMPSAC). Seoul, 2010. 218−227.
[8] Rajaraman A, Ullman JD. Mining of Massive Datasets. Cambridge: Cambridge University Press, 2011.
[9] Naish L, Lee HJ, Ramamohanarao K. A model for spectra-based software diagnosis. ACM Trans. on Software Engineering and
Methodology, 2011,20(3):1−32.
[10] Xie X, Chen TY, Kuo FC, Xu B. A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization. ACM
Trans. on Software Engineering and Methodology, 2013,22(4):1−40.
[11] Manybugs. 2019. http://repairbenchmarks.cs.umass.edu/manybugs/
[12] SIR. 2019. http://sir.unl.edu/portal/index.php