中文

API2Com:利用API文档改进自动生成的代码注释

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

摘要

代码注释有助于程序理解,并被视为帮助开发人员进行软件维护的重要产物。然而,注释大多缺失或过期,尤其在复杂软件项目中。因此,人们开发了若干自动注释生成模型作为解决方案。近期的模型探索整合统一建模语言类图等外部知识资源以改进所生成的注释。本文中,我们提出API2Com,一种利用应用程序接口文档(API Docs)作为注释生成知识资源的模型。API文档更详细地包含了方法描述,因而能在生成的注释中提供更好的上下文。我们的模型中将API文档与代码片段和抽象语法树一同使用。我们在一个包含超过130,000个方法的大型Java数据集上应用该模型,并使用Transformer和基于RNN的架构对其进行评估。有趣的是,在使用API文档时,性能提升微乎其微。因此我们运行了不同实验以解释该结果。对于仅含一个API的方法,添加API文档使结果平均提升4%的BLEU分数(BLEU分数是机器翻译中使用的自动评估指标)。然而,随着方法中使用的API数量增加,由于输入中使用了过长的文档,模型生成注释的性能下降。我们的结果确认API文档可有助于生成更好的注释,但需要新技术来识别方法中信息量最大的文档,而非同时使用所有文档。

关键词

引用

@article{arxiv.2103.10668,
  title  = {API2Com: On the Improvement of Automatically Generated Code Comments Using API Documentations},
  author = {Ramin Shahbazi and Rishab Sharma and Fatemeh H. Fard},
  journal= {arXiv preprint arXiv:2103.10668},
  year   = {2021}
}