Page 180 - 《软件学报》2025年第10期
P. 180
李志强 等: SZZ 误标变更对移动 APP 即时缺陷预测性能和解释的影响 4577
MA-SZZ 和 RA-SZZ 模型预测结果中各度量元的解释. 在使用的数据集中, 正类表示有缺陷, 负类表示无缺陷. 图
中红色表示度量元对预测结果为有缺陷的贡献程度, 蓝色表示度量元对预测为无缺陷的贡献程度. 基于以上观察,
可以得出以下结论.
f(x)=0.78 f(x)=0.89
2.944=la +0.16 2.944=la +0.12
0=entropy −0.06 0=entropy −0.05
4.126=rexp +0.05 5.118=lt +0.04
0.693=nf −0.04 4.126=rexp +0.04
1=fix +0.04 0.693=nf −0.03
0.693=nuc +0.01 0.693=age +0.03
0.693=ns −0.01 0.693=nuc +0.02
5.118=lt +0.01 1=fix +0.01
0.693=age +0 0.693=ld +0.01
0.693=ld −0
0.693=ns −0
0.600 0.625 0.650 0.675 0.700 0.725 0.750 0.775 0.800 0.70 0.75 0.80 0.85 0.90
E[f(x)]=0.619
E[f(x)]=0.69
(a) B-SZZ (b) AG-SZZ
f(x)=0.9 f(x)=0.92
2.944=la +0.17 0.693=nuc +0.11
0=entropy −0.06 5.118=lt +0.08
4.126=rexp +0.05 2.944=la +0.06
0.693=nuc +0.04 0.693=age +0.05
0.693=nf −0.03 0.693=nf +0.02
0.693=age +0.03 0.693=ld −0.02
0.693=ld −0.03 4.126=rexp +0.02
5.118=lt +0.03 0=entropy +0.01
1=fix +0.01 1=fix +0.01
0.693=ns −0.01 0.693=ns −0
0.65 0.70 0.75 0.80 0.85 0.90 0.6 0.7 0.8 0.9
E[f(x)]=0.687 E[f(x)]=0.585
(c) MA-SZZ (d) RA-SZZ
图 6 类不平衡情况下 AntennaPod 项目上其中一个变更 (eeeff6203) 的局部解释
(1) 如图 6 所示, 对于 RA-SZZ 本次预测结果 f(x)=0.92>0, 表明该变更被预测为有缺陷, 且预测概率接近 1, 因
此可以认为该变更的缺陷程度较高. 由于该变更的预测结果为有缺陷, 本文重点关注对正类预测贡献较大的度
量元.
(2) 对于 RA-SZZ, nuc、lt 和 la 等度量元对模型的预测结果有正向贡献, 说明修改过的变更数量、变更前的代
码行数与增加的代码行数这些度量元取值越大更倾向于引入缺陷, 而 ld 度量元则对预测结果有负向贡献, 说明减
少的代码行数越多越倾向于无缺陷. 为进一步分析, 观察到该变更 la 实际的度量元值为 18, 这表明该变更引入了
18 行代码, 一次修改的代码较多.

