Skip to main content
QUICK REVIEW

[论文解读] GN-Transformer: Fusing Sequence and Graph Representation for Improved Code Summarization

Junyan Cheng, Iordanis Fostiropoulos|arXiv (Cornell University)|Nov 17, 2021
Software Engineering Research参考文献 40被引用 6
一句话总结

本文提出GN-Transformer,一种新颖模型,通过将源代码序列与抽象语法树(AST)表示融合为语法-代码图(SCG),以提升代码摘要生成性能。通过在图网络中引入自注意力机制,并在融合模态上端到端训练,GN-Transformer在两个代码摘要数据集上实现了BLEU、METEOR和ROUGE-L指标的最先进性能,且在专家用户研究中展现出更优的人工评估质量与准确性。

ABSTRACT

As opposed to natural languages, source code understanding is influenced by grammatical relationships between tokens regardless of their identifier name. Graph representations of source code such as Abstract Syntax Tree (AST) can capture relationships between tokens that are not obvious from the source code. We propose a novel method, GN-Transformer to learn end-to-end on a fused sequence and graph modality we call Syntax-Code-Graph (SCG). GN-Transformer expands on Graph Networks (GN) framework using a self-attention mechanism. SCG is the result of the early fusion between a source code snippet and the AST representation. We perform experiments on the structure of SCG, an ablation study on the model design, and the hyper-parameters to conclude that the performance advantage is from the fused representation. The proposed methods achieve state-of-the-art performance in two code summarization datasets and across three automatic code summarization metrics (BLEU, METEOR, ROUGE-L). We further evaluate the human perceived quality of our model and previous work with an expert-user study. Our model outperforms the state-of-the-art in human perceived quality and accuracy.

研究动机与目标

  • 通过在学习过程中早期融合序列与图模态,提升代码摘要生成性能。
  • 解决现有模型中代码与AST表示独立处理所导致的后期融合局限性。
  • 开发一种增强自注意力机制的图神经网络架构,以提升代码理解中的跨模态交互能力。
  • 不仅通过自动指标,还通过大规模专家用户研究,评估摘要质量与准确性的主观感知。
  • 探究位置编码在图结构化表示中对代码摘要生成的影响。

提出的方法

  • 通过将源代码标记与AST节点早期融合为单一异构图,构建语法-代码图(SCG)。
  • GN-Transformer采用增强多头自注意力机制的图网络(GN)框架,以实现节点间动态、可学习的交互。
  • 编码器通过多个GN-Transformer模块处理SCG,每个模块应用残差连接与层归一化,以更新节点表示。
  • 仅使用标记节点作为解码器输入,而AST节点在特征提取后被丢弃,以保持序列级生成能力。
  • 采用可学习的绝对与相对位置嵌入,适配图结构,为节点排序提供归纳偏置。
  • 该架构支持在融合后的SCG上进行端到端训练,相比后期融合方法,能生成更丰富的跨模态表示。

实验结果

研究问题

  • RQ1通过语法-代码图实现代码序列与AST的早期融合,是否能提升代码摘要生成性能,优于后期融合方法?
  • RQ2将自注意力机制整合到图网络中,如何增强代码摘要的表征学习能力?
  • RQ3不同位置编码策略(绝对编码 vs. 相对编码)对图结构化代码表示有何影响?
  • RQ4所提出的模型是否在自动指标与人工评估的摘要质量与准确性方面均优于最先进方法?
  • RQ5模型超参数与图结构如何影响融合表示的性能?

主要发现

  • GN-Transformer在两个代码摘要数据集上达到最先进性能,优于先前模型,BLEU、METEOR与ROUGE-L指标均表现更优。
  • 消融实验证实,性能提升源于序列与图模态的早期融合,而非仅因架构设计优化。
  • 通过专家用户研究的人工评估显示,GN-Transformer在摘要质量与准确性的主观感知上优于先前模型。
  • 绝对位置嵌入(APE)在两个数据集上均导致性能下降,尤其在AST节点上更为明显,表明APE不适用于图结构化代码表示。
  • 通过PGNN实现的相对位置编码(RPE)结果不一——在较小的Java数据集上表现提升,但在较大的Python数据集上性能下降,可能因大图中锚点集适应能力不足。
  • 模型对代码长度具有鲁棒性,在测试集中不同代码片段长度下均表现出性能稳定性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。