Page 221 - 《软件学报》2020年第9期
P. 221

2842                                 Journal of Software  软件学报 Vol.31, No.9,  September 2020

             •   对于一个被定位为包含该缺陷的文件,它的确包含该缺陷,这种结果属于 TP(true positive);
             •   对于一个被定位为包含该缺陷的文件,它并不包含该缺陷,这种结果属于 FP(false positive);
             •   对于一个被定位为没有该缺陷的文件,它的确包含该缺陷,这种结果属于 FN(false negative);
             •   对于一个被定位为没有该缺陷的文件,它并不包含该缺陷,这种结果属于 TN(true negative).
             现有的二分类评价指标是基于上述 4 种情况的统计技术来计算的.表 5 对这些分类性能评估指标的计算方
         法和使用情况进行了汇总.这些指标的具体含义如下.
             (1)  Precision(精度):在预测为有缺陷的文件中,有多少比例的文件真正与该缺陷相关;
             (2)  Recall(召回率):在所有与缺陷相关的文件中,有多少比例的文件被定位为与该缺陷相关;
             (3)  F1-score(调和平均值):精度和召回率的调和平均值,可以更加客观地评价分类结果;
             (4)  Accuracy(准确率) [85] :在所有分类结果中,正确分类的文件(包括正确分为与缺陷相关和正确分为与缺
                 陷无关的文件)占所有文件的比例;
             (5)  MCC(Matthews correlation coefficient,马修斯相关系数) [82] :表示的是真实类别和预测类别的二元分类
                 之间的相关系数.
             这些指标的计算与设定的排名阈值有关,即:在排名阈值之前的文件被定为包含某缺陷,反之不包含该缺
         陷.因为在没有阈值的情况下,任何结果是没有意义的.例如,召回率都为 1.0 而精度都为 k/K(K 是项目中所有文
         件的数目,k 是其中包含缺陷的文件数目).在这些指标中使用最多的是精度和召回率,它们都在 11 篇文献中被使
         用过.

                Table 5    Summary of evaluation metrics for IRBL models in terms of classification performance
                                    表 5   评价 IRBL 模型的分类性能指标汇总
                    评估指标                       计算公式                          使用列表
                                                     TP
                  Precision(精度)             Precision =               [13,39,60−62,71,72,75,82,86,87]
                                                   TP +  FP
                                                    TP
                  Recall(召回率)                Recall =                [13,29,39,60−62,71,72,75,82,86,87]
                                                  TP +  FN
                                              ×
                                             2 Precision Recall
                                                      ×
                  F1(调和平均值)               F 1 =                               [72,86]
                                              Precision Recall+
                                                   TP TN+
                 Accuracy(准确率)           Accuracy =                           [29,85]
                                                TP +  FN +  FP TN+
                                               TP TN×  −  FP FN×
               MCC(Matthews 相关系数)  MCC =                                       [82]
                                        (TP +  FP )(TP +  FN )(TN +  FP )(TN +  FN )

         4.2.3    评估工作量的指标
             在缺陷定位领域,研究人员发现,上述性能评价指标不能完全满足 IRBL 方法在实际应用中的评估需求.由
         于开发人员需要花费有限的工作量(时间和资源)来对 IRBL 方法推荐的结果进行人工审查.在此期间,能够以较
         小工作量的找到缺陷所在位置才能够说明一个方法的实际有效性.因此,研究者们从工作量感知(effort aware)
         的角度来对结果进行评价.
             表 6 中对工作量性能评估指标的计算方法和使用情况进行了汇总,其中大部分评估指标是 Zhao 等人                               [36,37]
         在 2015 年首先提出的,他们使用代码行数来衡量一个文件在审查时所需花费的工作量.其具体含义如下.
             (1)  Effort@K:由 Top@K 派生而来,衡量了缺陷定位方法推荐对列表中前 K 个源代码文件进行审查时,开
                 发人员找到与缺陷报告相关的源代码文件平均需要花费多少工作量;
             (2)  MAE(mean average effort):由 MAP 派生而来,表示从推荐列表中找出所有与缺陷报告相关的源代码
                 文件时平均所需花费的工作量;
             (3)  MFE(mean first effort):由 MRR 派生而来,表示从源代码文件推荐列表中找到第一个与缺陷报告相关
                 的源代码文件平均所需要的工作量.它的值越小,表示在工作量感知下方法的性能越好.
   216   217   218   219   220   221   222   223   224   225   226