基于混合GNN的检索增强代码摘要生成
机器学习
2021-05-14 v5 人工智能
摘要
源代码摘要旨在从结构化代码片段生成自然语言摘要,以更好地理解代码功能。然而,由于源代码的复杂性以及源代码与自然语言摘要之间的语言鸿沟,自动代码摘要具有挑战性。以往大多数方法要么依赖于检索式(可利用从检索数据库中看到的相似示例,但泛化性能低),要么依赖于生成式方法(泛化性能更好,但无法利用相似示例)。本文提出一种新颖的检索增强机制,以结合两者的优势。此外,为缓解图神经网络(GNNs)在捕获源代码全局图结构信息上的局限,我们提出一种新颖的基于注意力的动态图来补充源代码的静态图表示,并设计了一种混合消息传递GNN以捕获局部与全局结构信息。为评估所提方法,我们发布了一个具有挑战性的新基准,该基准爬取自多样化的规模化开源C项目(数据集中总计超过9.5万个唯一函数)。我们的方法达到了最先进的性能,在BLEU-4、ROUGE-L和METEOR指标上分别比现有方法提升1.42、2.44和1.29。
引用
@article{arxiv.2006.05405,
title = {Retrieval-Augmented Generation for Code Summarization via Hybrid GNN},
author = {Shangqing Liu and Yu Chen and Xiaofei Xie and Jingkai Siow and Yang Liu},
journal= {arXiv preprint arXiv:2006.05405},
year = {2021}
}