[论文解读] CodeSum: Translate Program Language to Natural Language
本文提出 CodeSum,一种基于注意力机制的序列到序列神经网络框架,通过结构感知的抽象语法树(AST)遍历,实现对源代码的自然语言描述生成。在 Java、C# 和 SQL 代码语料库(包括一个新构建的工业级 Java 语料库)上进行评估,CodeSum 达到当前最优性能,显著优于现有方法。
During software maintenance, programmers spend a lot of time on code comprehension. Reading comments is an effective way for programmers to reduce the reading and navigating time when comprehending source code. Therefore, as a critical task in software engineering, code summarization aims to generate brief natural language descriptions for source code. In this paper, we propose a new code summarization model named CodeSum. CodeSum exploits the attention-based sequence-to-sequence (Seq2Seq) neural network with Structure-based Traversal (SBT) of Abstract Syntax Trees (AST). The AST sequences generated by SBT can better present the structure of ASTs and keep unambiguous. We conduct experiments on three large-scale corpora in different program languages, i.e., Java, C#, and SQL, in which Java corpus is our new proposed industry code extracted from Github. Experimental results show that our method CodeSum outperforms the state-of-the-art significantly.
研究动机与目标
- 为解决软件维护过程中代码理解效率低下的问题,生成简洁的自然语言代码摘要。
- 通过更有效地利用抽象语法树(AST),提升代码摘要中程序结构的表示能力。
- 开发一种能够捕捉代码语法和结构信息的同时生成人类可读摘要的方法。
- 在多种编程语言上评估该模型,包括一个新构建的工业级 Java 语料库。
提出的方法
- CodeSum 采用基于注意力机制的序列到序列(Seq2Seq)神经网络架构,实现端到端的代码摘要生成。
- 采用基于结构的遍历(SBT)方法,生成抽象语法树(AST)的序列化表示,保留结构语义。
- SBT 通过反映程序控制流和数据流的方式遍历 AST,确保生成的序列具有明确性和结构保真性。
- 模型使用双向长短期记忆网络(LSTM)编码 AST 序列,并通过自回归解码器将其解码为自然语言。
- 注意力机制在解码过程中对齐代码标记与摘要词汇,提升相关性与流畅性。
- 模型通过使用课程采样(scheduled sampling)的交叉熵损失函数,在代码-摘要配对数据上进行端到端训练。
实验结果
研究问题
- RQ1与扁平化或随机遍历方法相比,结构感知的 AST 遍历是否能提升代码摘要性能?
- RQ2CodeSum 在 Java、C# 和 SQL 等多种编程语言上的表现如何?
- RQ3使用新构建的工业级 Java 语料库是否能提升模型的泛化能力与实际应用价值?
- RQ4CodeSum 相较于现有最先进代码摘要模型,其性能提升程度如何?
主要发现
- CodeSum 在所有三个评估语料库(Java、C# 和 SQL)上均显著优于现有最先进模型。
- 所提出的基于结构的 AST 遍历(SBT)方法相比基线遍历策略,生成的代码摘要更加准确且语义更清晰。
- 模型在新构建的工业级 Java 语料库上表现优异,证明了其在真实场景中的适用性。
- 定量结果表明,所有编程语言的 ROUGE 和 BLEU 分数均持续提升,验证了该架构与训练策略的有效性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。