Page 30 - 《软件学报》2025年第5期
P. 30

1930                                                       软件学报  2025  年第  36  卷第  5  期


                 轴右侧表示    F2  值分布, 柱状图中下半的部分表示          6  个开源项目上的模型效果分布, 上半部分表示             10  个企业项目
                 上的  F2  值分布. 不难发现, Baseline(RF) 模型在企业项目上相比于开源项目效果呈现显著下降, 平均                   F2  值约只有
                 30%  左右, 后者的平均    F2  分值则接近   80%. 为进一步分析基于学习式的模型在企业项目可追踪性问题上表现不
                 佳的潜在原因, 下面总结分析了以下关键挑战.


                                                                        P10
                                                                         P9
                                                                         P8
                                                                         P7
                                                                         P6
                                                                         P5
                                                                         P4
                                                                         P3
                                                                         P2
                                                                         P1
                                                                        Pig
                                                                      Maven
                                                                    Infinispan
                                                                      Groovy
                                                                      Droools
                                                                       Derby
                           −250 −230 −210 −190 −170 −150 −130 −110 −90 −70 −50 −30 −10  10  30  50  70  90
                                      不平衡性 (“假”链接/“真”链接)                        F2 得分
                                     图 5 Baseline(RF) 模型在开源及企业项目上的        F2  分数差异

                    ● 挑战  2. 样本数据不平衡
                    首先是每个项目中样本不平衡率. 图            5  中横轴左侧表示每个项目样本不平衡性, 统计了每个项目中多类样本
                 (“假”链接) 和少类样本     (“真”链接) 的比例, 其计算公式如公式         (1) 所示:

                                                               N(“假”链接)
                                                 ImbalanceRatio =                                     (1)
                                                               N(“真”链接)
                    从表  1  中可以看到, 10  个企业项目数据集不平衡率平均高于              140. 导致企业项目样本不平衡比例高的最直观
                 的原因在于, 有链接的缺陷和有链接的            commit 比例普遍较低, 平均来看分别只有          36.72%  和  13.26%. 具体而言, 数
                 据不平衡性由于工业软件项目紧张的研发过程而变得愈加严重. 一方面, 企业项目以业务为导向, 研发周期紧凑,
                 编码频率密集. 如表      1  所示, 企业项目的源制品和目标制品规模比例存在较大的悬殊, 即大多数企业项目虽然有
                 N ×100 量级的缺陷, 但   commit 记录则达到数千甚至数万的量级. 这是因为与开源软件项目处于维护期不同, 企业
                 项目尚处于初期, 项目迭代较为频繁, 产生的软件制品规模较多, 尤其是一些大规模项目                          commit 累积量激增, 这无
                 疑加剧了样本数据集不平衡性的严重程度. 其次, 软件可追踪性天然地假设缺陷会被一次或多次                               commit 修复. 而
                 在企业项目中, commit 提交频率较高, 缺陷生命周期较长               (只有缺陷得到回归测试后才允许关闭), 因此更多的
                 commit 会被选择与缺陷生成候选跟踪对样本, 这将导致生成的样本链接标记中, 被标记为“真”的链接数量和被标
                 记为“假”的链接数量存在极大的悬殊.
                    ● 挑战  3. 样本数据稀疏性
                    从表  1  中不难发现, 由于有链接的制品占比较低, 在企业项目中尤为明显, 这导致总体样本中存在大量的无标
                 签样本. 这无疑使得用于训练的可学习的样本量是稀疏的. 此外, 值得注意的是, Baseline(RF) 中提取的特征集在企
                 业项目数据集上呈现了较为严重的特征空间稀疏性问题, 直接影响了采样数据集中可学习样本的信息量. 图                                   6  中
                 对比了两类数据集特征矩阵中每列特征的稀疏程度, 其中横轴中                      a1–a18  为  Baseline(RF) 中定义的  18  个特征, 纵
                 轴为特征稀疏比例, 计算公式如公式           (2) 所示:

                                                               (
                                                              N ai列空值样本数   )
                                             FeatureSparsity(ai) =  (     )                           (2)
                                                              N ai全部样本数
   25   26   27   28   29   30   31   32   33   34   35