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

邓文涛 等: 基于图神经网络的多粒度软件系统交互关系预测                                                    2053


                 即真实为负, 但模型错误地预测为正的样本数量; FN               为假负例数, 表示模型错误地将正类别的样本预测为负类别,
                 即真实为正, 但模型错误地预测为负的样本数量; TN              为真负例数, 表示模型正确地预测了负类别的样本数量, 即真
                 实为负, 模型也预测为负的样本数量. P           表示正例数, N    表示负例数. ∆Recall k 表示召回率在不同阈值下的变化,
                 TP k 和  FP k 分别表示召回率变化时的真正例数和假正例数.
                    对于基准方法, 选择了       4  个图神经网络模型, 分别为      k-GNN、GCN、GAT    和  GraphSAGE, 各模型参数设置均
                 同表  2.


                                                      表 2 模型参数

                                 特征方式                      参数                      参数值
                                                       node2vec参数p                  0.25
                                 局部特征                  node2vec参数q                   2
                                                    node2vec嵌入特征维度                  64
                                                    拉普拉斯位置编码维度                      64
                                 全局特征
                                                   图拉普拉斯算子的标准化                    Symmetric
                                                       特征融合方式                      Concat
                                                     Graph Transformer层数             2
                                                       注意力机制数量                       8
                                                       输入特征维度                       64
                                                       隐藏层特征维度                     1 024
                                 特征优化
                                                       输出特征维度                       64
                                                         训练周期                       200
                                                          优化器                      Adam
                                                          学习率                      0.001
                                                          dropout                   0.1

                    k-GNN [41] 是一种基于  k  近邻图的图神经网络模型, 通过构建节点的            k  近邻图, 利用这些邻居节点的特征来更
                 新中心节点的表示, 以此来捕获节点之间的局部结构信息. 由于软件系统的复杂性表现为局部变化和相互调用,
                 而  k-GNN  可以通过考虑节点的      k  近邻来适应这种复杂性, 利用邻居节点的特征来更新中心节点的表示, 使得模型
                 更能适应软件系统中节点之间的相对位置和关系, 因此该方法能够适用于本研究.
                    GCN [32] 利用卷积操作在图结构上进行信息传播. 通过聚合节点的邻居特征来更新每个节点的表示, 每一层的
                 更新都利用了当前节点的邻居信息, 并通过权重共享的方式进行信息的传递和特征的聚合. 在软件系统这样的高
                 维、复杂数据中, 参数共享能够有效地减少过拟合的风险, 使得                     GCN  较为适合作为软件交互关系预测的基准

                 模型.
                    GAT  [42] 是一种利用注意力机制来学习节点间交互的图神经网络模型. 它引入了注意力机制, 允许节点对邻居
                 节点赋予不同的注意力权重, 从而更加灵活、精细地聚合邻居节点的信息. 这种灵活性使                            GAT  能够更好地捕捉软
                 件系统中复杂的交互模式. 通过对邻居节点的不同关注程度, GAT                    可以考虑节点之间细粒度的交互关系, 从而能
                 够提高对软件交互关系预测的准确性.
                              [43]
                    GraphSAGE   是一种基于采样和聚合的图神经网络模型, 它利用采样邻居节点的方式来构建每个节点的邻
                 居特征集合, 并通过聚合函数        (如均值、最大值等) 来更新每个节点的表示. 这种采样和聚合的策略使得                     GraphSAGE
                 能够在考虑大规模图结构时有效地提取节点的局部特征, 从而能够捕捉软件系统中的交互关系. 因此该模型适用
                 于软件系统中的交互关系预测.
                    此外, 还有一些有关软件交互关系预测的论文, 例如                GoGCN  [38] , 不选择其作为基准方法的原因在于该方法不
                 具有通用性, 在更细粒度的特征提取上, 如方法粒度, 不能够再提取到更细粒度的图中图结构特征. 并不适用于本
                 文设计一种囊括了包、类和方法这            3  种粒度的版本内和跨版本的交互关系预测方法.
   148   149   150   151   152   153   154   155   156   157   158