Page 181 - 《软件学报》2025年第10期
P. 181
4578 软件学报 2025 年第 36 卷第 10 期
(3) 对于 B-SZZ、AG-SZZ 和 MA-SZZ 模型, 它们对该变更的预测结果均为有缺陷, 并且预测概率较高, 说明
在预测结果上它们与 RA-SZZ 一致. 具体而言, RA-SZZ 对预测结果产生最显著正向贡献的前 3 名度量元分别是
nuc、lt 和 la. 对于 B-SZZ, 贡献最显著的前 3 名度量元分别是 la、rexp 和 fix. 与 RA-SZZ 相比, B-SZZ 的错误标注
会影响 nuc、lt 和 la 的贡献程度. 对于 AG-SZZ, 贡献最为显著的前 3 名度量元分别为 la、lt 和 rexp. 与 RA-SZZ
相比, AG-SZZ 的错误标注会影响 nuc 和 la 的贡献程度. 至于 MA-SZZ, 贡献最为显著的前 3 名度量元分别为 la、
rexp 和 nuc. 与 RA-SZZ 相比, MA-SZZ 的错误标注会影响 nuc、lt 和 la 的贡献程度.
(4) 通过以上分析发现, 基于贡献程度最高的前 3 名度量元, B-SZZ、AG-SZZ、MA-SZZ 和 RA-SZZ 对预测
结果的解释并不完全一致. 然而它们都包含 la 度量元且都对预测为有缺陷的贡献大, 说明增加的代码行数这一度
量元是需要开发人员在代码提交中重点关注的.
上述解释结果仅涵盖了单个变更的局部影响. 为了进一步研究多次代码变更的解释结果, 本文汇报了所有项
目中所有变更的解释结果占比情况, 具体如下.
(1) 在类不平衡情况下, 针对每种 SZZ 模型, 计算所有项目中每个变更在 4 种 SZZ 模型上的 SHAP 值, 即每个
变更的每个度量元的 SHAP 值.
(2) 对于每个项目的每个变更, 计算每个度量元的 SHAP 值占比, 即该度量元的 SHAP 值除以当前变更所有度
量元的 SHAP 值之和.
(3) 最后, 对于所有项目的所有变更, 计算每个度量元的 SHAP 值占比.
图 7 展示了在类不平衡情况下所有项目中所有变更的 4 种 SZZ 模型的局部解释结果占比. 从图 7 中可以观
察到, 对于 B-SZZ 模型, 影响程度最大的 3 个度量元是 la (20%)、sexp (11%) 和 ld (9%); 对于 AG-SZZ 和 MA-
SZZ 模型, 影响程度最大的 3 个度量元是 la (20%)、sexp (11%) 和 lt (9%), 而对于 RA-SZZ 模型, 影响程度最大的
3 个度量元是 nuc (18%)、la (16%) 和 sexp (11%). 这表明, 在所有项目的所有变更中, 局部解释结果与全局解释的
结果相一致, 从而证实了全局解释对局部解释的泛化性. 这一发现与先前的研究工作 [7] 的结论一致. 该研究使用
SHAP 对 TensorFlow 项目中的一个缺陷预测变更进行局部解释, 并使用 SHAP 对整个模型进行全局解释, 实验结
果验证了局部解释的泛化性.
RQ4: SZZ 错误标注的变更是否影响类平衡下的移动 APP 即时缺陷预测模型的解释?
研究动机: 在 RQ3 中, 本文研究了在类不平衡情况下 SZZ 错误标注的变更对移动 APP 即时缺陷预测模型解
释的影响. 考虑到类不平衡可能会影响模型的解释性, 本问题在 RQ3 的基础上, 研究在类平衡情况下, SZZ 错误标
注的变更对移动 APP 即时缺陷预测模型解释的影响.
研究方法: 对于每一个移动 APP 项目, 本文采用 SMOTE 算法对训练数据进行类重平衡, 接着分别使用 B-
SZZ、AG-SZZ、MA-SZZ 和 RA-SZZ 标注的数据构建随机森林模型, 然后利用 SHAP 框架对预测结果进行解
释, 每种数据标注算法对应一组 SHAP 解释结果, 再整合每种标注算法对应的所有项目的解释结果, 最后对比 B-
SZZ、AG-SZZ、MA-SZZ 与 RA-SZZ 在所有项目上的解释差异, 并重点关注对模型预测结果的影响程度排名
前 3 的度量元. 本文将分别从全局和局部的角度分别对模型预测结果进行可解释分析, 其具体实验步骤与 RQ3
描述相同.
实验结果: 在全局解释方面, 图 8 展示了 SHAP 框架在所有项目上的 B-SZZ、AG-SZZ、MA-SZZ 和 RA-SZZ
即时缺陷预测模型的解释结果. 基于以上观察, 可以得出以下结论.
(1) 如图 8 所示, 对 RA-SZZ 模型预测结果的影响程度最大的前 3 名度量元为 nuc、age 和 la. 对于 B-SZZ、
AG-SZZ 和 MA-SZZ, 影响程度最大的前 3 名度量元分别为 la、entropy 和 sexp.
(2) 相较于 RA-SZZ, nuc 和 age 度量元在 B-SZZ、AG-SZZ 和 MA-SZZ 模型中的影响程度显著下降. 而 la 在
B-SZZ、AG-SZZ 和 MA-SZZ 模型中对预测结果的影响程度排名均为第 1.
(3) 在类重平衡情况下, B-SZZ、AG-SZZ、MA-SZZ 与 RA-SZZ 在全局解释方面并不一致, 然而它们的前 3
名度量元都包括 la 且倾向于对预测为有缺陷的贡献突出, 说明 la 对模型的预测结果有重要影响.

