GypSum:学习用于代码摘要的混合表示
软件工程
2022-04-28 v1 机器学习
编程语言
社会与信息网络
摘要
近年来,基于深度学习的代码摘要得到了广泛研究。当前的代码摘要深度学习模型通常遵循神经机器翻译的原理,采用编码器-解码器框架,其中编码器从源代码中学习语义表示,解码器将学习到的表示转换为描述代码片段功能的人类可读文本。尽管它们达到了新的最优性能,我们注意到当前模型通常要么生成不够流畅的摘要,要么未能捕捉核心功能,因为它们通常只关注单一类型的代码表示。因此,我们提出了 GypSum,这是一种新的深度学习模型,它使用图注意力神经网络和预训练的编程与自然语言模型来学习混合表示。我们将与代码片段控制流相关的特定边引入抽象语法树以构建图,并设计了两个编码器分别从图和源代码的令牌序列中学习。我们修改了 Transformer 解码器中的编码器-解码器子层以融合这些表示,并提出了一种双重复制机制以促进摘要生成。实验结果表明,GypSum 相较于现有的代码摘要模型具有优越的性能。
引用
@article{arxiv.2204.12916,
title = {GypSum: Learning Hybrid Representations for Code Summarization},
author = {Yu Wang and Yu Dong and Xuesong Lu and Aoying Zhou},
journal= {arXiv preprint arXiv:2204.12916},
year = {2022}
}
备注
12 pages, 6 figures, 6 tables