Page 229 - 《软件学报》2026年第7期
P. 229

2914                                                       软件学报  2026  年第  37  卷第  7  期


                 提出了特殊要求. 更为关键的是, 现有的差分隐私机制在软件工程场景下的适用性和有效性仍需要深入验证.
                    正是基于这些现实需求和技术挑战, 本文提出               PRIDE-SDP  框架, 旨在通过个性化联邦学习和差分隐私技术的
                 组合, 为企业内部的跨项目软件缺陷预测提供一个既满足隐私保护要求, 又能有效应对项目异构性的实用化解决
                 方案. 本文在学术前沿技术探索的基础上, 针对工业界对安全高效缺陷预测的实际需求, 提出了可行的解决思路.
                  2   相关工作

                    跨项目软件缺陷预测作为软件工程领域的重要研究方向, 已吸引了众多学者的关注. 现有研究主要围绕数据
                 选择与预处理、迁移学习方法、深度学习技术以及类不平衡处理等方面展开. 本节将从这些角度对相关工作进行
                 系统梳理和分析.
                  2.1   数据选择与预处理方法
                    在跨项目缺陷预测中, 源项目的选择和数据预处理是影响预测性能的关键因素. Kanwar 等人                          [24] 提出了一种混
                 合选择方法, 结合协同过滤和基于内容的方法来生成候选项目, 并使用朴素贝叶斯分类器预测新项目与现有项目
                 之间的关系. 该方法在      F1-score 和平均精度等指标上显著优于现有方法, 为源项目选择提供了新的思路. Li 等人                    [25]
                 提出了   BiLO-CPDP  工具, 使用双层编程自动化      CPDP  模型的发现过程. 通过在上层优化传输学习器与分类器的组
                 合, 在下层优化超参数设置, 该方法在多个数据集上超过了多种现有的                      CPDP  方法. Singh  等人  [26] 提出了一个高效
                 的实例选择算法      BDAC, 用于加速支持向量机的训练过程. 该算法能在不降低预测精度的情况下大幅减少训练数
                 据集规模, 提高训练速度. Bai 等人      [27] 提出了  3  阶段的转移学习框架    3SW-MSTL, 通过源选择策略、转移技术和条
                 件分布信息指导, 系统性地解决了源选择和多源数据利用问题. 实验结果表明该框架在多个基准数据集上超过了
                 其他多源和单源的       CPDP  方法.
                  2.2   迁移学习与域适应方法
                    迁移学习技术在缓解项目间数据分布差异方面发挥了重要作用. Zhang                     等人  [28] 提出了基于连接性无监督分类
                 器的跨项目缺陷预测方法, 使用谱聚类处理数据异构性问题. 该方法在不需要标注数据的情况下, 能够有效处理源
                 项目和目标项目之间的分布差异. Li 等人           [29] 提出了基于地标选择的核判别子空间对齐方法             LSKDSA. 通过选择源
                 项目和目标项目的关键地标, 并通过核方法进行非线性映射, 该方法有效减小了数据分布差异, 增强了模型的判别
                 能力. Jin [30] 提出了基于领域适应学习和优化的方法         DA-KTSVMO, 使用核双支持向量机实现源项目和目标项目数
                 据分布的匹配. Tang    等人  [31] 提出了  TSboostDF  方法, 结合权重采样和迁移学习技术, 在处理知识转移和类不平衡
                 问题方面表现突出. Dai 等人      [32] 提出了动态转移学习方法, 通过改进的相关性对齐和内核方差匹配技术, 优化了源
                 项目和目标项目的联合概率分布.
                  2.3   深度学习与神经网络方法
                    深度学习技术在软件缺陷预测中展现出强大的特征学习能力. Bal 等人                     [33] 提出了结合丢弃正则化深度学习和
                 独特匹配指标的方法. 通过        KS  检验和匈牙利算法进行特征匹配, 该模型在             AUC、召回率等指标上相较于现有方
                 法有大幅提升. Pandey 等人    [34] 提出了基于深度信念网络和长短期记忆网络的            JITCP-Predictor, 在  MCC  和  F-Measure
                 等方面分别有提高. Chen     等人  [35] 提出了软件可视化和深度转移学习方法, 通过将源代码转化为图像并结合自注意
                 力机制进行训练. 该方法能够直接使用程序的语义信息进行缺陷预测, 在跨项目场景中表现优越.
                  2.4   类不平衡处理技术

                    软件缺陷数据中普遍存在的类不平衡问题是影响预测性能的重要因素. Poon                        等人  [36] 提出了基于可信度理论
                 的朴素贝叶斯分类器, 通过引入可信度理论缩小源项目和目标项目之间的特征分布差异. Gong                            等人  [37] 提出了结合
                 最近邻嵌套分层和迁移成分分析的类不平衡学习方法                   TCA+STr-NN. 该方法针对数据不平衡和源数据与目标数据
                 之间的分布差异进行了改进, 在跨项目缺陷预测中取得了更好的                     AUC  和召回率. Jing  等人  [38] 提出了改进的子类判
                 别分析方法    ISDA, 结合了半监督传输组件分析来解决类不平衡问题. Ryu                 等人  [39] 提出了多目标优化的朴素贝叶
   224   225   226   227   228   229   230   231   232   233   234