A Neural Architecture for Generating Natural Language Descriptions from Source Code Changes
By Pablo Loyola, Edison Marrese-Taylor, Yutaka Matsuo. 2017
133 citations recorded by the source corpus.
We propose a model to automatically describe changes introduced in the source code of a program using natural language. Our method receives as input a set of code commits, which contains both the modifications and message introduced by an user. These two modalities are used to train an encoder-decoder architecture. We evaluated our approach on twelve real world open source projects from four different programming languages. Quantitative and qualitative results showed that the proposed approach can generate feasible and semantically sound descriptions not only in standard in-project settings, but also in a cross-project setting.
Subfields: Natural Language Processing
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Natural Language Processing
- Miltiadis Allamanis
- Uri Alon
- Charles Sutton
- Eran Yahav
- Omer Levy
- Graham Neubig
- Premkumar T. Devanbu
- Ge Li
Citations in the corpus
- A Survey of Machine Learning for Big Code and Naturalness (2017, background): “[124] Tokens (Diff) Natural Language Distributed Explain code changes”
- code2seq: Generating Sequences from Structured Representations of Code (2018, background): “…2014; Cho et al., 2014; Bahdanau et al., 2014; Luong et al., 2015; Vaswani et al., 2017), yielding state-of-the-art performance on various code captioning and documentation benchmarks (Iyer et al., 2016; Allamanis et al., 2016; Loyola et al., 2017) despite having extremely long source sequences.”
- Deep Code Comment Generation (2018, background): “Several subsequent studies have developed various probabilistic models for different software tasks [12, 23, 40, 41].”
- A Neural Model for Generating Natural Language Summaries of Program Subroutines (2019, background): “Jiang et al. [20] and Loyola et al. [29] generate descriptions of code changes (i.e. commit messages).”
- Learning to Model Editing Processes (2022, methodology): “We then curate these comments and develop a dataset for usage on downstream tasks—for both edit summary generation (Loyola et al., 2017) and edit-summary-conditioned text editing (Faltings et al., 2021).”
- StaQC: A Systematically Mined Question-Code Dataset from Stack Overflow (2018, background): “Towards this goal, a lot of research work have been developed recently, such as retrieving or generating code snippets based on a natural language query, and annotating code snippets using natural language [2, 21, 28, 44, 52, 61, 64].”
- Improved Code Summarization via a Graph Neural Network (2020, methodology): “coder model. LeClair Improved Code Summarization via a Graph Neural Network Conference’17, July 2017, Washington, DC, USA Src Code AST API FlatAST GNN Paths 2016 Iyer et al. [25] x 2017 Loyola et al. [34] x 2017 Lu et al. [35] x x 2018 Hu et al. [24] x x 2018 Liang et al. [31] x x 2018 Hu et al. [23”