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
   137   138   139   140   141   142   143   144   145   146   147