CoCoSum:基于多关系图神经网络的上下文代码摘要生成
软件工程
2021-07-06 v1
摘要
源代码摘要是代码片段的简短自然语言描述,可帮助开发者更好地理解和维护源代码。为减轻手动编写摘要的负担,自动代码摘要的研究工作激增。然而,大多数现有方法主要利用待摘要方法边界内的信息(即局部上下文),而忽略了可辅助代码摘要的更广阔上下文。本文探索了两类全局上下文,即类内上下文与类间上下文,并提出了模型 CoCoSum:基于多关系图神经网络的上下文代码摘要生成(Contextual Code Summarization with Multi-Relational Graph Neural Networks)。CoCoSum 首先将类名作为类内上下文以生成类语义嵌入。随后,提取相关的统一建模语言(UML)类图作为类间上下文,并使用一种新颖的多关系图神经网络(MRGNN)将其编码为类关系嵌入。类语义嵌入与类关系嵌入,连同来自代码词编码器与 AST 编码器的输出,被送入一个配备两级注意力机制的解码器,以生成高质量的、上下文感知的代码摘要。我们进行了大量实验来评估我们的方法,并与其他自动代码摘要模型进行比较。实验结果表明 CoCoSum 有效且优于最先进的方法。我们的源代码与实验数据已在补充材料中提供,并将公开可用。
引用
@article{arxiv.2107.01933,
title = {CoCoSum: Contextual Code Summarization with Multi-Relational Graph Neural Network},
author = {Yanlin Wang and Ensheng Shi and Lun Du and Xiaodi Yang and Yuxuan Hu and Shi Han and Hongyu Zhang and Dongmei Zhang},
journal= {arXiv preprint arXiv:2107.01933},
year = {2021}
}