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  算法分别标注数据.
   166   167   168   169   170   171   172   173   174   175   176