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

张献  等:基于代码自然性的切片粒度缺陷预测方法                                                        2235


                                           Table 5  Metrics’ discriminative performance
                                                 表 5   度量元的判别力对比
                                                                              –5
                                                                                              –1
                          数据集           度量元          Pearson 相关性    Fisher 准则(×10 )   信息增益(×10 )
                                         TSize          0.048           0.185            0.347
                                         LOC            0.131           1.283            0.485
                                        CE (=1)        0.017           0.022            0.209
                                      CE-Inv (=1)      0.007           0.004            0.229
                          BE-ALL
                                      M-CE (=10)       0.284           6.142            1.369
                                     M-CE-Inv (=10)    0.250           4.662            1.154
                                      M-CE (=20)       0.325           8.252            1.783
                                     M-CE-Inv (=20)    0.299           6.860            1.529
                                         TSize          0.037           0.183            0.326
                                         LOC            0.102           1.153            0.393
                                        CE (=1)        0.110           1.305            0.189
                                      CE-Inv (=1)      0.119           1.520            0.321
                         RME-ALL
                                      M-CE (=10)       0.173           3.273            0.910
                                     M-CE-Inv (=10)    0.156           2.666            1.001
                                      M-CE (=20)       0.212           4.978            0.769
                                     M-CE-Inv (=20)    0.207           4.734            1.077

                    由表 5 可以看出,规模度量元 LOC 的判别力要优于 TSize,代码自然性特征 CE 和 CE-Inv 在 BE-ALL 数据
                 集上的表现弱于规模度量元,但在 RME-ALL 数据集上的判别力与 LOC 接近.因此整体上,原始自然性特征在切
                 片粒度缺陷数据集上的判别力表现一般.但是可以看到,当引入改进机制,利用双向 W-NLM 度量软件模块后,得
                 到的改进度量元 M-CE 和 M-CE-Inv 具有优越的判别力表现,明显优于原始自然性度量元和传统规模度量元.
                 以 BE-ALL 数据集上的 Pearson 相关性为例,CE(=1)度量元、M-CE(=10)度量元和 M-CE(=20)度量元的得分
                 分别为 0.017、0.284 和 0.325,改进幅度超过 26.7%;CE-Inv(=1)度量元、M-CE-Inv(=10)度量元和 M-CE-Inv
                 (=20)度量元的得分分别为 0.007、0.250 和 0.299,改进幅度超过 24.3%.可以看出,随着权重比例系数的增大,
                 度量元的判别力提升明显;同时,整体上看,CE/M-CE 度量元的判别力强于 CE-Inv/M-CE-Inv 度量元.
                    结论 3.  在切片粒度缺陷数据集上,CE 类度量元具有一定的判别力,其中,CE 和 M-CE 度量元的判别力在整
                 体上强于 CE-Inv 和 M-CE-Inv 度量元;改进的度量元 M-CE 和 M-CE-Inv 的判别力明显优于原始度量元 CE 和
                 CE-Inv 以及传统规模度量元 TSize 和 LOC.
                 5.3   针对RQ3的结果分析

                    较上一研究问题更进一步地,RQ3 考察在切片粒度缺陷数据集上,改进的 CE 类度量元(M-CE 和 M-CE-Inv)
                 实际带来的缺陷预测性能有所提升,其中,五折交叉验证实验的均值结果罗列于表 6 中;依据 RQ1 的结论,对于
                 BE 缺陷预测案例,权重比例系数取 20,对于 RME 缺陷类型取 10.为了说明改进度量元对缺陷预测效果的贡
                 献度,我们分别在两类数据集上设计了 4 组对比实验,即 CE 对比 M-CE、CE-Inv 对比 M-CE-Inv、CE+CE-Inv
                 对比 M-CE+M-CE-Inv 以及 CE+CE-Inv+LOC+TSize 对比 M-CE+M-CE-Inv+LOC+TSize.
                    由表 6 给出的结果可以看到,在 16 种对照实验中,改进度量元均带来了召回率和 F1 指标的提升,查准率除
                 基于 RF 分类器的 RME 缺陷预测实验外,其他 12 种情况也均有提升.以基于 SVM 分类器的 SE 缺陷预测为例,
                 在使用改进度量元的 4 组对比实验中,F1 指标较原始 CE 类度量元分别增长了 28.2%、25.9%、21.3%和 17.6%,
                 性能提升显著.纵向来看,当正逆双向度量元结合使用时整体上可带来性能的提升,说明了本文的 CNDePor 方法
                 在双向度量代码机制上的有效性.以基于 SVM 分类器的 SE 缺陷预测为例,M-CE+M-CE-Inv 组合较 M-CE 和
                 M-CE-Inv 单一情况的 F1 指标分别提升了 5.5%和 7.4%.
                    由结果还可以发现,当 CE 类度量元与传统规模度量元 LOC 和 TSize 相结合后,缺陷预测性能在大多数实
                 验中有明显提高.以基于 SVM 分类器的 SE 缺陷预测为例,当传统规模度量元分别融入 CE+CE-Inv、M-CE+
                 M-CE-Inv 度量元后,缺陷预测模型的 F1 指标分别提高了 9.5%和 5.8%.实验结果表明,CE 类度量元与传统规模
                 度量元具有互补性.
                    结论 4.  在切片粒度缺陷数据集上,CE 类度量元与传统规模度量元具有互补性;改进的度量元 M-CE 和
   312   313   314   315   316   317   318   319   320   321   322