Learning to Represent Edits
By Pengcheng Yin, Graham Neubig, Miltiadis Allamanis, Marc Brockschmidt, Alexander L. Gaunt. 2018
120 citations recorded by the source corpus.
We introduce the problem of learning distributed representations of edits. By combining a "neural editor" with an "edit encoder", our models learn to represent the salient information of an edit and can be used to apply edits to new inputs. We experiment on natural language and source code edit data. Our evaluation yields promising results that suggest that our neural network models learn to capture the structure and semantics of edits. We hope that this interesting task and data source will inspire other researchers to work further on this problem.
Subfields: Artificial Intelligence, Information Systems, Representation & Self-Supervised Learning
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Graham Neubig
- Luke S. Zettlemoyer
- Jianfeng Gao
- Percy Liang
- Mohit Bansal
- Caiming Xiong
- Richard Socher
- Noah A. Smith
In Information Systems
- Uri Alon
- Eran Yahav
- Baishakhi Ray
- Miltiadis Allamanis
- Graham Neubig
- Michael Pradel
- Omer Levy
- Shaked Brody
In Representation & Self-Supervised Learning
- Omer Levy
- Caiming Xiong
- Jianfeng Gao
- Uri Alon
- Graham Neubig
- Eran Yahav
- Richard Socher
- Miltiadis Allamanis
Citations in the corpus
- TypeWriter: neural type prediction with search-based validation (2019, background): “Beyond type prediction, others have proposed learning-based techniques to find programming errors [25, 27], predict variable and method names [1, 28, 33], suggest how to improve names [19], search code [10, 30], detect clones [36, 40], classify code [24, 39], predict code edits [31, 38, 41], predict”
- Controlling Text Edition by Changing Answers of Specific Questions (2021, methodology): “In (Yin et al., 2018), the distributed representations of edit actions are learned and applied to editing Wikipedia records (Faruqui et al., 2018) and Github code (Yin et al., 2018).”
- CODIT: Code Editing With Tree-Based Neural Models (2018, background): “[79]’s proposed graph neural network-based distributed representation for code edits but their work focused on change representation than generation.”
- Deep Just-In-Time Inconsistency Detection Between Comments and Source Code (2020, methodology): “Following prior work in other tasks (Fernandes, Allamanis, and Brockschmidt 2019; Yin et al. 2019), we encode ASTs and AST edits using gated graph neural networks (GGNNs) (Li et al. 2015).”
- Text Editing by Command (2020, methodology): “This is similar to the paraphrase setting (Gupta et al., 2018), and the editing setting in Faruqui et al. (2018) and Yin et al. (2019).”
- Getafix: learning to fix bugs automatically (2019, background): “Work on learning to represent code edits may also provide a starting point for learning to suggest fixes [Yin et al. 2018].”
- Editing-Based SQL Query Generation for Cross-Domain Context-Dependent Questions (2019, methodology): “Our work is also related to recently proposed approaches to code generation by editing (Hayati et al., 2018; Yin et al., 2019; Hashimoto et al., 2018).”
- Structural Language Models of Code (2019, background): “, 2016; Yin & Neubig, 2017) is that our copy mechanism uses the syntactic relation to the source (the path H`), rather than the sequential relation or the graph-node representation (Yin et al., 2019).”
- Neural Edit Completion (2020, methodology): “Yin et al. [2019] suggested a system that learns to represent an edit and use its representation to apply the edit to another code snippet.”
- Parallel Iterative Edit Models for Local Sequence Transduction (2019, background): “Yin et al. (2019) is about neural representation of edits specifically for structured objects like source code.”
- Graph-to-Tree Neural Networks for Learning Structured Input-Output Translation with Applications to Semantic Parsing and Math Word Problem (2020, background): “Inspired by these observations, in this work, we propose a Graph-to-Tree neural networks, namely Graph2Tree consisting of a graph encoder and a hierarchical tree decoder, which leverages the structural information of both source graphs and target trees.”
- Learning to Model Editing Processes (2022, background): “This probability could be modeled directly, and in fact in the case of n = 1 this becomes analogous to the single-step editing problem tackled by previous work (Yin et al., 2019a; Malmi et al., 2019; Reid and Zhong, 2021; Faltings et al., 2021).”