Page 138 - 《软件学报》2025年第9期
P. 138
谢生龙 等: 基于多模态融合的软件缺陷协同分派方法 4049
(1) 采样尺度的敏感性. 实验按照枚举的策略, 依次将 CBT-MF 采样尺度 s 设置为 1、3、5、7、9. 图 4 显示
了在不同采样尺度 s 下, CBT-MF 在 GC、MC 及 MF 数据集的测试集上获得的 Recall@K 和 Hit@K 各 5 个, 共
10 个指标的实验评估结果.
0.012 GC 0.015 GC 0.016 GC 0.020 GC 0.028 GC
MC
MC
MC
MC
MC
0.012
Recall@5 0.009 MF Recall@10 0.009 MF Recall@15 0.012 MF Recall@20 0.012 MF Recall@25 0.021 MF
0.016
0.006
0.008
0.014
0.008
0.006
0.003
0.003 0.004 0.004 0.007
0
0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10
(a) (b) (c) (d) (e)
0.3 GC 0.4 GC GC GC GC
MC MC 0.4 MC 0.4 MC 0.4 MC
MF 0.3 MF 0.3 MF 0.3 MF 0.3 MF
0.2
Hit@5 0.1 Hit@10 0.2 Hit@15 0.2 Hit@20 0.2 Hit@25 0.2
0.1
0.1
0 0 0.1 0 0 0.1 0
0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10
(f) (g) (h) (i) (j)
图 4 不同采样尺度对 Recall@5–Recall@25 和 Hit@5–Hit@25 的影响
从图 4(a)–(e) 显示的 Recall@K 实验结果可以看出, 随着采样尺度 s 的增加, Recall@5–Recall@25 的值也会增
s 增大到一定程度时 ( s, 各个指标并没有
加. 但采样尺度 s = 5), 各个指标达到了最大值. 随后续继续增大采样尺度
相应的提升, 相反地, 出现了下降的趋势. 例如, 在 GC 数据集上, 当采样尺度 s 从 1 增加到 5 时, Recall@10 从 0.003 7
增加到 0.008 2, Recall@20 从 0.004 2 增加到 0.010 9; 而当采样尺度 s 增加到 9 时, 二者分别降到了 0.002 3 和 0.005 4;
此外, 不同数据集之间的结果也有所不同. 例如, 在 Recall@5 指标上, MF 数据集的结果明显优于 GC 和 MC 数据
集, 且在其他 Recall@K 指标上, 3 个数据集之间也存在类似的差异. 这些结果的形成可能与多种因素有关. 首先,
s 可以提升 CBT-MF 对 bug 和开发者的覆盖率, 从而提高了 Recall@K 指标值; 其次, 不同数据集
适当的采样尺度
的特征和分布也会影响评估结果, 例如, MF 数据集密度大, 且其中的 bug 和开发者数量相对能够代表样本的多样
性, 因此在适当的采样尺度影响下, 使 CBT-MF 在其上获得了更好的性能表现; 最后, CBT-MF 中采用聚类和采样
的数据增强方式缓解数据不均衡性也对 Recall@K 评估指标产生了积极的影响.
从图 4(f)–(j) 显示的 Hit@K 指标统计结果可以看出, 首先对于每个指标和每个数据集, 同样随着采样尺度 s 在
一定范围内 ( s ⩽ 5) 的增加, CBT-MF 的性能也有所提升. 这说明采样尺度确实对 CBT-MF 性能有积极影响, 同时
也证明了所设计的数据增强模块对提升 CBT-MF 的 bug 分派性能是有效的; 其次, 在每个数据集和每个 Hit@K 指
标中, 采样尺度为 5 的时候, CBT-MF 的性能提升得最为明显. 以 Hit@5 指标为例, 当采样尺度 s 从 1 增加 3, 3 增
加到 5 时, 对于 GC 数据集, CBT-MF 的性能分别提升了 0.003 6 和 0.001 7, 提升趋势逐渐减缓; 当采样尺度 s 继续
增加时, CBT-MF 性能出现明显的下降趋势. 导致这个现象的原因是, 当采样尺度 s 过小时, 采样所得的样本集合
不能全面代表原始测试集, 因此, CBT-MF 的性能一般; 当采样尺度 s 过大时, 由于 CBT-MF 需要处理的数据量增
加, 引入的未知噪声也会随之增加, 导致 CBT-M 性能并不会有明显提升, 甚至在 3 个数据集上的评估指标出现了
缓慢下降的趋势.
综上所述, 采样尺度 s 对 CBT-MF 性能有一定程度的影响, 增加 s 时 Recall@K 和 Hit@K 会随着增大, 表明更
s 会导致其性能退化, 这归因于实验测试集中的噪声在大采样尺
多的数据可以带来更多的学习特性; 然而, 较大的
度的情况下会导致 CBT-MF 过拟合. 此外, 从图 4 展示的实验结果中还发现, 数据集 GC 和 MC 的 Hit@K 结果与
Recall@K 结果趋势出现了反差. 这很大程度上是由于 GC 数据集修复记录更加不均衡, 而 MC 数据集相对均衡,
导致 CBT-MF 在 GC 数据集上拥有更高的 Recall@K, 这表明 CBT-MF 能够更好地召回 GC 数据集中的 bug. 但在
GC 数据集上的 Hit@K 较低, 表明 CBT-MF 在 GC 数据集中推荐出了更多的无关或不合适的 bug. 总体上讲, 采样
尺度为 5 时, CBT-MF 性能提升最为明显, 考虑到这一点, 在后续的实验中, 把采样尺度 s 均设置为 5.
(2) 聚类质心数的敏感性. 为了分析聚类质心数对 CBT-MF 分派性能的影响, 本文构建了 CBT-MF 方法的变
体 CBT-MF-k. 其中, k 依次设置为 10, 20, ..., 50, 相应地将 bug 和开发人员的质心数设置为其总数的 k%. 且为了降

