中文

ATOM:基于抽象语法树与混合排序的提交信息生成

软件工程 2020-11-12 v2

摘要

提交信息以自然语言记录代码变更(如功能修改与缺陷修复),有助于程序理解。由于软件的频繁更新与时间成本,开发者通常缺乏为代码变更编写提交信息的动力。因此,自动化该信息编写过程十分必要。以往关于提交信息生成的研究受益于生成模型或检索模型,但变更代码的代码结构,即抽象语法树(AST),对于捕捉代码语义十分重要,却未被显式引入。此外,尽管生成模型具有为新代码变更合成提交信息的优势,但其不易弥合代码与自然语言之间的语义鸿沟,而检索模型可缓解此问题。本文提出一种新颖的提交信息生成模型 ATOM,其显式引入抽象语法树以表示代码变更,并通过混合排序整合检索与生成的消息。具体而言,混合排序模块可针对一次代码变更,从检索与生成的消息中优先选出最准确的消息。我们在从 56 个流行 Java 仓库爬取的数据集上评估所提模型 ATOM。实验结果表明,ATOM 在 BLEU-4(广泛用于评估文本生成系统的精度度量)上比最先进(SOTA)模型提升 30.72%。定性分析也证明了 ATOM 在生成准确代码提交信息上的有效性。

关键词

引用

@article{arxiv.1912.02972,
  title  = {ATOM: Commit Message Generation Based on Abstract Syntax Tree and Hybrid Ranking},
  author = {Shangqing Liu and Cuiyun Gao and Sen Chen and Lun Yiu Nie and Yang Liu},
  journal= {arXiv preprint arXiv:1912.02972},
  year   = {2020}
}