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 和