中文

CodeSum:将程序语言翻译为自然语言

软件工程 2018-02-01 v2

摘要

在软件维护期间,程序员花费大量时间进行代码理解。阅读注释是程序员在理解源代码时减少阅读和导航时间的有效方法。因此,作为软件工程中的一项关键任务,代码摘要旨在为源代码生成简短的自然语言描述。本文提出了一种名为 CodeSum 的新代码摘要模型。CodeSum 利用基于注意力的序列到序列(Seq2Seq)神经网络,并结合抽象语法树(AST)的基于结构的遍历(SBT)。由 SBT 生成的 AST 序列能更好地呈现 AST 的结构并保持无歧义。我们在三种不同编程语言(即 Java、C# 和 SQL)的三个大规模语料库上进行了实验,其中 Java 语料库是我们新提出的从 Github 提取的工业代码。实验结果表明,我们的方法 CodeSum 显著优于现有最优技术。

关键词

引用

@article{arxiv.1708.01837,
  title  = {CodeSum: Translate Program Language to Natural Language},
  author = {Xing Hu and Yuhan Wei and Ge Li and Zhi Jin},
  journal= {arXiv preprint arXiv:1708.01837},
  year   = {2018}
}

备注

We have some additional experiments on this work