用于子程序神经源代码摘要的集成模型
软件工程
2021-07-27 v1
摘要
子程序的源代码摘要是对该子程序的简要描述。摘要构成了程序员所使用的大部分文档的基础,例如JavaDocs中的方法摘要。源代码摘要化就是编写这些摘要的任务。目前,大多数最先进的代码摘要化方法都是基于神经网络的解决方案,类似于seq2seq、graph2seq以及其他编码器-解码器架构。编码器的输入是源代码,而解码器则帮助预测自然语言摘要。虽然这些模型在结构上趋于相似,但越来越多的证据表明,不同的模型对预测质量的贡献不同——模型性能的差异在整个数据集上是正交且互补的,而非均匀的。在本文中,我们探索了不同神经代码摘要化方法的正交特性,并提出了集成模型以利用这种正交性来获得更好的整体性能。我们证明,一个简单的集成策略可将性能提升高达14.8%,并对此提升提供了解释。本工作的启示是,对大多数神经代码摘要化技术的推理过程进行相对较小的改变,即可带来预测质量的显著提升。
引用
@article{arxiv.2107.11423,
title = {Ensemble Models for Neural Source Code Summarization of Subroutines},
author = {Alexander LeClair and Aakash Bansal and Collin McMillan},
journal= {arXiv preprint arXiv:2107.11423},
year = {2021}
}
备注
ICSME 2021