代码结构引导的 Transformer 用于源代码摘要生成
计算与语言
2023-02-08 v2
摘要
代码摘要有助于开发者理解程序,并在软件维护期间减少其推断程序功能所需的时间。近期研究借助序列到序列模型等深度学习技术来生成准确的代码摘要,其中基于 Transformer 的方法已取得令人瞩目的性能。然而,在该任务领域中,如何有效地将代码结构信息整合进 Transformer 仍鲜有探索。本文提出一种名为 SG-Trans 的新方法,将代码的结构特性融入 Transformer。具体而言,我们将局部符号信息(如代码标记与语句)和全局语法结构(如数据流图)作为归纳偏置注入 Transformer 的自注意力模块。为进一步捕捉代码的层次化特征,局部信息与全局结构被设计为分布在 Transformer 较低层与较高层的注意力头中。大量评估表明 SG-Trans 优于当前最优方法。与性能最佳的基线相比,SG-Trans 在两个基准数据集上分别将广泛用于衡量生成质量的指标 METEOR 得分提升了 1.4% 和 2.0%。
引用
@article{arxiv.2104.09340,
title = {Code Structure Guided Transformer for Source Code Summarization},
author = {Shuzheng Gao and Cuiyun Gao and Yulan He and Jichuan Zeng and Lun Yiu Nie and Xin Xia and Michael R. Lyu},
journal= {arXiv preprint arXiv:2104.09340},
year = {2023}
}