一种用于生成自然语言代码摘要的主题引导指针生成器模型
软件工程
2021-07-06 v1
摘要
代码摘要是生成源代码自然语言描述的任务,对程序理解与维护十分重要。现有方法将该任务视为机器翻译问题(例如从 Java 到英语)并应用神经机器翻译模型解决。这些方法仅考虑给定的代码单元(如一个方法)而忽略其更宽上下文。上下文的缺失可能阻碍 NMT 模型收集足够的代码摘要信息。此外,现有方法使用固定词表且未充分考虑代码中的词,而代码摘要中的许多词可能来自代码。本工作中,我们提出一个名为 ToPNN 的神经网络模型用于代码摘要,其利用更宽上下文(如类)中的主题来引导神经网络,结合新词生成与代码中已有词的复制。基于该模型,我们提出一种在方法级(即方法注释)生成自然语言代码摘要的方法。我们使用含 4,203,565 个带注释 Java 方法的数据集评估我们的方法。结果显示相较最先进方法有显著提升,并证实了类主题与复制机制的正面作用。
引用
@article{arxiv.2107.01642,
title = {A Topic Guided Pointer-Generator Model for Generating Natural Language Code Summaries},
author = {Xin Wang and Xin Peng and Jun Sun and Yifan Zhao and Chi Chen and Jinkai Fan},
journal= {arXiv preprint arXiv:2107.01642},
year = {2021}
}