Page 294 - 《软件学报》2021年第7期
P. 294

2212                                     Journal of Software  软件学报 Vol.32, No.7,  July 2021

                 缺陷度量标准,5 个熵变化度量标准,17 个源代码熵度量标准和 17 个源代码波动度量标准.
                                                Table 1   Experimental datasets
                                                     表 1   实验数据集
                                 分组            项目          样本数量          度量数量        缺陷率(%)
                                               CM1           327                       12.84
                                               MW1           253                       10.67
                                NASA           PC1           705           37          8.65
                                               PC3          1 077                      12.44
                                               PC4          1 458                      12.21
                                               AR1           121                       7.44
                                               AR3           63                        12.70
                               SOFTLAB         AR4           107           29          18.69
                                               AR5           36                        22.22
                                               AR6           101                       14.85
                                              Apache         194                       50.52
                                ReLink         Safe          56            26          39.81
                                               ZXing         399                       29.57
                                                EQ           324                       39.81
                                               JDT           997                       20.66
                               AEEEM            LC           691           61          9.26
                                               ML           1 862                      13.16
                                               PDE          1 497                      13.96

                 4.2   评价指标及基准模型

                    在本文中,我们采用常用的评价指标 AUC 来评估缺陷预测模型的性能,该评价指标也广泛用于之前的研究
                 工作 [10,16,17] .AUC 是受视工作特性曲线下方的面积,该曲线在二维空间中绘制,以假阳性率作为 x 坐标,真实阳性
                 率(召回率)作为 y 坐标.AUC 由于不受类别不平衡的影响并且独立于预测阈值,因此被广泛使用,以用于评估不
                 同模型的性能.
                                                                                                [8]
                    我们将所提方法 T-VAE 与项目间缺陷预测(WPDP)和跨项目缺陷预测(CPDP)方法(包括 TCA+ 、VCB-
                 SVM [27] 和 ManuDown(M-Down) [28] 以及异构缺陷预测方法 CCA+   [12] 、HDP-KS [10] 、CTKCCA [16] 和 SNN [19] )进行
                 了比较.
                    通过与项目间缺陷预测和跨项目缺陷预测方法进行比较可以提供异构缺陷预测方法(HDP)在实践中有效
                 性的直接证据.其中,我们与基于逻辑回归的项目间缺陷预测方法(WPDP-LR)及基于神经网络的项目间缺陷预
                 测方法(WPDP-NET)进行了比较.同时,我们还与方法 TCA+以及 VCB-SVM 进行了比较,它们都是传统跨项目缺
                 陷预测中的方法,且都要求源项目和目标项目的实例具有完全相同的度量.M-Down 是一种基于排序的无监督
                 预测模型,不需要任何标记信息甚至源项目.
                    另外,我们还与异构缺陷预测方法进行了比较:包括 CCA+、HDP-KS、CTKCCA 以及 SNN 这 4 种模型.这
                 些方法在之前工作中有很好的预测性能.其中,CCA+使用 CCA 方法学习特征的映射,HDP-KS 采用了特征分布
                 匹配策略,CTKCCA 主要集中于解决线性不可分以及类别不平衡问题,SNN 是一种基于最大均值差异的异构缺
                 陷预测方法,同时也是利用神经网络模型来学习和预测.
                    基于上述预测设置和评价指标,我们使用 Wilcoxon 符号秩检验来验证两个模型在预测性能上是否有显著
                 差异,当 p 值小于 0.05 时,就认为模型间的差异是不可忽视的.此外,我们同时使用 Cliff’s 来检查不同模型预测
                 性能的差异在实际应用中是否重要             [29] .当 | | ≤  0.147 时  ,认为是可以忽略的(N);当 0.147 | |  ≤  0.33 时  ,认为是小
                 的(S);当 0.33 | |  ≤  0.474 时  ,认为是中等(M);当 | | 0.474   时,认为是大的(L).如果一个模型取得正并且不可忽
                 视的值( | | 0.147   ),则表示该模型相对于另一个模型更具有使用价值.
                 4.3   实验方法

                    我们使用来自 NASA、SOFTLAB、ReLink 和 AEEEM 的 18 个项目作为实验数据集,并执行异构跨项目缺
                 陷预测.我们从 18 个项目中选择一个项目作为目标,然后依次使用其他组中的每个项目作为源项目.例如,当表 1
                 中的 NASA 组中的 CM1 充当目标时,存在 13(185)个跨项目预测组合.由于我们主要关注具有异构度量标准集
   289   290   291   292   293   294   295   296   297   298   299