Assessing the Effectiveness of Syntactic Structure to Learn Code Edit Representations
Not on the map. Why?
Abstract (arXiv)
In recent times, it has been shown that one can use code as data to aid various applications such as automatic commit message generation, automatic generation of pull request descriptions and automatic program repair. Take for instance the problem of commit message generation. Treating source code as a sequence of tokens, state of the art techniques generate commit messages using neural machine translation models. However, they tend to ignore the syntactic structure of programming languages. Previous work, i.e., code2seq has used structural information from Abstract Syntax Tree (AST) to represent source code and they use it to automatically generate method names. In this paper, we elaborate upon this state of the art approach and modify it to represent source code edits. We determine the effect of using such syntactic structure for the problem of classifying code edits. Inspired by the code2seq approach, we evaluate how using structural information from AST, i.e., paths between AST leaf nodes can help with the task of code edit classification on two datasets of fine-grained syntactic edits. Our experiments shows that attempts of adding syntactic structure does not result in any improvements over less sophisticated methods. The results suggest that techniques such as code2seq, while promising, have a long way to go before they can be generically applied to learning code edit representations. We hope that these results will benefit other researchers and inspire them to work further on this problem.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 19 of its 42 references that are in the map. First posted on arXiv 11 Jun 2021.
Builds on
19 of 42 references.
References · 19
- 2014Adam: A Method for Stochastic Optimizationcited by 36,960
- 2013Distributed Representations of Words and Phrases and their Compositionalitycited by 3,462
- 2015Gated Graph Sequence Neural Networkscited by 792
- 2018code2vec: Learning Distributed Representations of Codecited by 249
- 2017A Survey of Machine Learning for Big Code and Naturalnesscited by 220
- 2017Learning to Represent Programs with Graphscited by 219
- 2018code2seq: Generating Sequences from Structured Representations of Codecited by 177
- 2016A Convolutional Attention Network for Extreme Summarization of Source Codecited by 90
- 2019A Neural Model for Generating Natural Language Summaries of Program Subroutinescited by 76
- 2019When Deep Learning Met Code Searchcited by 45
- 2017Automatically Generating Commit Messages from Diffs using Neural Machine Translationcited by 42
- 2019How Often Do Single-Statement Bugs Occur? The ManySStuBs4J Datasetcited by 35
7 more
- 2018Learning to Represent Editscited by 34
- 2018A Survey of Word Embeddings Evaluation Methodscited by 26
- 2017A Neural Architecture for Generating Natural Language Descriptions from Source Code Changescited by 23
- 2016Automated Correction for Syntax Errors in Programming Assignments using Recurrent Neural Networkscited by 13
- 2019Commit2Vec: Learning Distributed Representations of Code Changescited by 12
- 2017SmartPaste: Learning to Adapt Source Codecited by 8
- 2019TreeCaps: Tree-Structured Capsule Networks for Program Source Code Processingcited by 4
Built on by
Citing papers per year: 2022: 1.
1 paper.