Page 171 - 《软件学报》2025年第10期
P. 171
4568 软件学报 2025 年第 36 卷第 10 期
表 4 B-SZZ、AG-SZZ 和 MA-SZZ 的误标数量及占比 (续)
B-SZZ AG-SZZ MA-SZZ
项目
#误标数量 误标占比 (%) #误标数量 误标占比 (%) #误标数量 误标占比 (%)
Conversations 1 058 15 898 13 782 11
AntennaPod 955 12 661 8 524 6
AndroidAPS 2 270 16 1 730 12 1 614 11
k-9 1 415 12 1 137 9 967 8
SeriesGuide 1 652 13 1 422 11 1 295 10
3 实证研究
为探究 4 种 SZZ 算法所标注的数据集对移动即时缺陷预测模型的影响, 本节对实验的相关设置进行详细描
述. 基于此, 本文设计以下 5 个研究问题.
RQ1: SZZ 错误标注的变更是否影响类不平衡下的移动 APP 即时缺陷预测模型的性能?
RQ2: SZZ 错误标注的变更是否影响类平衡下的移动 APP 即时缺陷预测模型的性能?
RQ3: SZZ 错误标注的变更是否影响类不平衡下的移动 APP 即时缺陷预测模型的解释?
RQ4: SZZ 错误标注的变更是否影响类平衡下的移动 APP 即时缺陷预测模型的解释?
RQ5: 不同数据采样算法间的性能对比如何?
图 2 给出了本实证研究的主要流程, 共分为 8 个步骤.
度量
提取
利用
PyDriller 2 B-SZZ
提取度量
元
克隆 AG-SZZ
1
第 1 月
时间序列划分
克隆 Git 仓库 MA-SZZ ...
3
第 n 月
RA-SZZ
变更
提取 2
利用
PyDriller
提取含有 数据标注阶段
bug, fix, error 4
等关键字的 1≤i≤n−5
变更
SKESD
统计测试
8 7 模型评估 5 构建
训练集 测试集
模型解释 (i, i+1) (i+4, i+5)
SHAP
6 预测
图 2 实验流程图
(1) 克隆移动 APP 远程 Git 仓库, 提取软件度量元.
(2) 提取含有缺陷关键词的变更, 使用 B-SZZ、AG-SZZ、MA-SZZ 和 RA-SZZ 算法分别标注数据.

