CodeSum: Translate Program Language to Natural Language
By Xing Hu, Yuhan Wei, Ge Li, Zhi Jin. 2017
14 citations recorded by the source corpus.
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.
Subfields: Control and Systems Engineering, Information Systems, Software
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Control and Systems Engineering
In Information Systems
- Marc Brockschmidt
- Miltiadis Allamanis
- Patrick Fernandes
- Uri Alon
- Eran Yahav
- Charles Sutton
- Michael Pradel
- Prem Devanbu
In Software
- Marc Brockschmidt
- Patrick Fernandes
- Miltiadis Allamanis
- Prem Devanbu
- Charles Sutton
- Toufique Ahmed
- Uri Alon
- Earl T. Barr
Citations in the corpus
- A Survey of Machine Learning for Big Code and Naturalness (2017, neutral): “[94] Linearized AST Natural Language Distributed Summarization”
- Structured Neural Summarization (2018, methodology): “For example, Barone & Sennrich (2017) use a simple sequence-to-sequence baseline, whereas Hu et al. (2017) summarize source code by linearizing the abstract syntax tree of the code and using a sequence-to-sequence model.”