Wed 18 Nov 2020 01:00 - 01:20 at SPLASH-I - T-4 Chair(s): Sophia Drossopoulou, Julien Lange
We address the problem of predicting edit completions based on a learned model that was trained on past edits. Given a code snippet that is partially edited, our goal is to predict a completion of the edit for the rest of the snippet. We refer to this task as the Edit Completion task and present a novel approach for tackling it.
The main idea is to directly represent structural edits. This allows us to model the likelihood of the edit itself, rather than learning the likelihood of the edited code. We represent an edit operation as a path in the program’s Abstract Syntax Tree (AST), originating from the source of the edit to the target of the edit. Using this representation, we present a powerful and lightweight neural model for the Edit Completion task.
We conduct a thorough evaluation, comparing our approach to a variety of representation and modeling approaches that are driven by multiple strong models such as LSTMs, Transformers, and neural CRFs. Our experiments show that our model achieves a 28% relative gain over state-of-the-art sequential models and 2x higher accuracy than syntactic models that learn to generate the edited code, as opposed to modeling the edits directly.
Our code, dataset, and trained models are publicly available at https://github.com/tech-srl/c3po/ .
Tue 17 NovDisplayed time zone: Central Time (US & Canada) change
13:00 - 14:20 | T-4OOPSLA at SPLASH-I +12h Chair(s): Michael Pradel University of Stuttgart, Germany, Sophia Drossopoulou Imperial College London | ||
13:00 20mTalk | A Structural Model for Contextual Code Changes OOPSLA Link to publication DOI Pre-print Media Attached | ||
13:20 20mTalk | A Systematic Approach to Deriving Incremental Type Checkers OOPSLA André Pacak JGU Mainz, Sebastian Erdweg University of Mainz, Tamás Szabó University of Mainz / itemis Link to publication DOI Media Attached | ||
13:40 20mTalk | Detecting Locations in JavaScript Programs Affected by Breaking Library Changes OOPSLA Anders Møller Aarhus University, Benjamin Barslev Nielsen Aarhus University, Martin Toldam Torp Aarhus University Link to publication DOI Pre-print Media Attached | ||
14:00 20mTalk | A Type-and-Effect System for Object Initialization OOPSLA Fengyun Liu EPFL, Ondřej Lhoták University of Waterloo, Aggelos Biboudis EPFL, Paolo G. Giarrusso Delft University of Technology, Martin Odersky EPFL Link to publication DOI Media Attached |
Wed 18 NovDisplayed time zone: Central Time (US & Canada) change
01:00 - 02:20 | T-4OOPSLA at SPLASH-I Chair(s): Sophia Drossopoulou Imperial College London, Julien Lange Royal Holloway University of London | ||
01:00 20mTalk | A Structural Model for Contextual Code Changes OOPSLA Link to publication DOI Pre-print Media Attached | ||
01:20 20mTalk | A Systematic Approach to Deriving Incremental Type Checkers OOPSLA André Pacak JGU Mainz, Sebastian Erdweg University of Mainz, Tamás Szabó University of Mainz / itemis Link to publication DOI Media Attached | ||
01:40 20mTalk | Detecting Locations in JavaScript Programs Affected by Breaking Library Changes OOPSLA Anders Møller Aarhus University, Benjamin Barslev Nielsen Aarhus University, Martin Toldam Torp Aarhus University Link to publication DOI Pre-print Media Attached | ||
02:00 20mTalk | A Type-and-Effect System for Object Initialization OOPSLA Fengyun Liu EPFL, Ondřej Lhoták University of Waterloo, Aggelos Biboudis EPFL, Paolo G. Giarrusso Delft University of Technology, Martin Odersky EPFL Link to publication DOI Media Attached |