Page 127 - 《软件学报》2025年第9期
P. 127

4038                                                       软件学报  2025  年第  36  卷第  9  期


                 学习, 作为多模态表示学习的主要类别, 它在给定的约束下可以分别处理不同模式的数据, 并将它们带入协同空
                 间. 我们最近的研究      [14]  也表明, 将  bug  报告文本和  bug-开发人员二部图进行融合, 比单一的文本信息更能够全面
                 地表达   bug  报告和开发人员的语义以及他们之间的相关性. 因此, 为了解决上述问题, 本文受多模态机器学习和协
                 同过滤   (collaborative filtering, CF) 在推荐系统及社交网络等领域对实体关系挖掘的预训练模型启发              [15,16] , 将  bug
                 报告文本数据和      bug-开发者二部图数据作为两种不同模态的数据, 提出了一种多模态融合的软件缺陷协同分派方
                                                                                 [2]
                 法——CBT-MF, 如图    2  所示. 首先, 为了减小噪声影响, 通过文本清洗、Word2Vec 等技术进行                bug  报告文本预
                 处理, 同时, 为了挖掘    bug  和开发者之间的相关性, 构建了        bug-开发人员二部图. 其次, 针对       bug  修复记录的不均衡
                 性, CBT-MF  采用  K-means 和正负采样的方法对数据样本进行增强和二部图重构, 降低了由于                    bug  修复记录不均
                 衡性带来的过拟合风险. 随后, 为了丰富           bug  和开发者的表征信息并挖掘        bug  与开发者关系, 基于图卷积神经网络
                 模型融合    bug  报告文本模态和二部图模态数据, 经多层卷积后捕获了二部图的节点语义和结构特征, 实现了                             bug
                 和开发者的深度表征及二者关系的提取. 最后, 为了实现                 bug  和开发者的相关性匹配, CBT-MF      将  bug  分派任务转
                 化为图协同过滤      (graph collaborative filtering, GCF) 的  bug-开发人员二部图链接预测, 并基于内积匹配和贝叶斯个
                 性化排序   (Bayesian personalized ranking, BPR) 得到了  bug  分派的推荐方案, 最终实现了  bug  分派推荐.

                  Step 1:  数据预处理    Step 2:   数据增强           Step 3:  协同分派建模          Step 4:  协同分派推荐
                       Bug 报告                                   Bug语义       开发者语      Bug表征        开发者表
                                                                 信息         义信息        向量     分    征向量
                                              原型
                                                             文                                派
                                              聚类             本                                推
                                                             模                                荐
                                                             态
                                       正样本    记录    负样本
                  文本分词、清洗、词向量转换               抽样                                            内积匹配
                                                                  邻节点       邻节点
                     Bug 修复记录
                            b 1                                       相关性挖掘                      BPR
                                                    b 1
                     d 1                   d 1               图
                            b 2
                                                    b 2
                                                             形                              Bug分派列表
                            b 3
                                                    b 3
                     d 2                                     模                          Bug     开发者
                                           d 2
                            b 4                              态
                                                    b 4                                581698 Vasili@gmail.com
                         ···
                            b n−1               ···                                    432700  LTTng@aol.com
                                                   b n−1
                     d n                                                               185699  Dario@msn.com
                            b n            d n
                      构建二部图                 增强二部图   b n                图卷积               ···     ···
                                                 图 2 CBT-MF  缺陷分派思路

                    具体地讲, 本文主要研究贡献包含以下             4  点.
                    (1) 设计一个   CBT-MF  方法框架. 该框架由数据预处理、数据增强、多模态数据融合及                    bug  分派推荐这   4  部
                 分构成. 在该框架的指导下, 可以缓解          bug  修复记录不均衡性影响, 并充分地利用开发者信息挖掘、建模其与                     bug
                 的相关性, 提高    bug  分派效能.
                    (2) 提出一个   bug  和开发者文本与图数据的增强方案. 一方面采用             K-means 对  bug  报告进行原型聚类; 另一方
                 面, 通过正负采样的方式进行新记录抽样. 缓解了两种模态数据中修复记录不均衡性对分派预测结果的影响, 为深
                 度挖掘   bug  和开发者之间的相关性提供了支持.
                    (3) 构建一个基于图卷积神经网络的协同分派模型. 通过定义节点之间的消息传递方式和聚合规则, 进行节点
                 特征表示的更新, 并将       bug  报告和开发者的特征及其关系映射到同一个协同空间, 从而实现                   bug  报告文本和二部
                 图数据的融合, 丰富了      bug  和开发者表征信息, 更好地捕捉        bug  和开发者之间的相关性.
                    (4) 在  Google Chromium、Mozilla Core 及  Mozilla Firefox  数据集上对  CBT-MF  进行了广泛的实验评估. 通过
                 与文本模态分类、相关性匹配及基于             CF  的  3  类方法对比, 评估了   CBT-MF  对  bug  分派的性能; 又通过分组对比
                 和消融实验证明了       CBT-MF  可以缓解数据不均衡性与文本数据模态对              bug  分派产生的影响; 此外, 还详细分析了
                 CBT-MF  对采样尺度、聚类质心数、图卷积层数的敏感性. 这些评估实验为                      CBT-MF  后续研究与应用提供了建
   122   123   124   125   126   127   128   129   130   131   132