中文

APIContext2Com:通过引入预定义 API 文档生成代码注释

软件工程 2023-03-06 v1 计算与语言 机器学习

摘要

代码注释在理解软件程序方面非常有帮助,也能协助开发人员节省大量软件维护时间。代码注释生成旨在给定代码片段的情况下自动预测自然语言注释。若干工作探讨了整合外部知识对生成注释质量的影响。在本研究中,我们提出一种名为 APIContext2Com 的方案,通过引入预定义的应用程序编程接口(API)上下文来提升生成注释的有效性。API 上下文包括代码片段中所用预定义 API 的定义与描述。由于详细的 API 信息表达了代码片段的功能,其有助于更好地生成代码摘要。我们引入了一种带有不同多编码器集合的 seq-2-seq 编码器-解码器神经网络模型,以有效地将不同输入转换为目标注释。我们还开发了排序机制以排除无信息量的 API,从而过滤掉不相关的 API。我们使用来自 CodeSearchNet 的 Java 数据集评估我们的方法。结果显示,所提模型在 BLEU1、BLEU2、BLEU3、BLEU4、METEOR、ROUGE-L 上分别比最佳基线提升 1.88(8.24%)、2.16(17.58%)、1.38(18.3%)、0.73(14.17%)、1.58(14.98%)和 1.9(6.92%)。人工评估与消融研究证实了生成注释的质量以及架构和 API 排序的效果。

关键词

引用

@article{arxiv.2303.01645,
  title  = {APIContext2Com: Code Comment Generation by Incorporating Pre-Defined API Documentation},
  author = {Ramin Shahbazi and Fatemeh Fard},
  journal= {arXiv preprint arXiv:2303.01645},
  year   = {2023}
}