Blogs (1) >>
ICSE 2019
Sat 25 - Fri 31 May 2019 Montreal, QC, Canada
Wed 29 May 2019 11:40 - 12:00 at Laurier - Automated Program Repair 1 Chair(s): Lars Grunske

Recent years have seen the rise of Deep Learning (DL) techniques applied to source code. Researchers have exploited DL to automate several development and maintenance tasks, such as writing commit messages, generating comments and detecting vulnerabilities among others. One of the long lasting dreams of applying DL to code is the possibility to automate non-trivial coding activities. While some steps in this direction have been taken (e.g., learning how to fix bugs), there is still a lack of empirical evidence on the types of code changes that can be learned and automatically applied by DL. Our goal is to make this first step by quantitatively and qualitatively investigating the ability of a Neural Machine Translation (NMT) model to learn how to automatically apply code changes implemented by developers during pull requests. We train and experiment with the NMT model on a set of 236k pairs of code components before and after the implementation of the changes provided in the pull requests. We show that, when applied in a narrow enough context (i.e., small/medium-sized pairs of methods before/after the pull request changes), NMT can automatically replicate the changes implemented by developers during pull requests in up to 36% of the cases. Moreover, our qualitative analysis shows that the model is capable of learning and replicating a wide variety of meaningful code changes, especially refactorings and bug-fixing activities. Our results pave the way to novel research in the area of DL on code, such as the automatic learning and applications of refactoring.

Wed 29 May

Displayed time zone: Eastern Time (US & Canada) change

11:00 - 12:30
Automated Program Repair 1Journal-First Papers / Technical Track / Papers at Laurier
Chair(s): Lars Grunske Humboldt-Universität zu Berlin
11:00
20m
Talk
Learning to Spot and Refactor Inconsistent Method NamesTechnical Track
Technical Track
Kui Liu Huawei Software Engineering Application Technology Lab, Dongsun Kim Furiosa.ai, Tegawendé F. Bissyandé SnT, University of Luxembourg, Taeyoung Kim Chonbuk National University, Kisub Kim University of Luxembourg, SnT, Anil Koyuncu University of Luxembourg, Luxembourg, Suntae Kim , Yves Le Traon University of Luxembourg
Pre-print
11:20
20m
Talk
Harnessing Evolution for Multi-Hunk Program RepairTechnical Track
Technical Track
Seemanta Saha University of California Santa Barbara, Ripon Saha Fujitsu Laboratories of America, Inc., Mukul Prasad Fujitsu Laboratories of America
11:40
20m
Talk
On Learning Meaningful Code Changes via Neural Machine TranslationTechnical Track
Technical Track
Michele Tufano College of William and Mary, Jevgenija Pantiuchina Università della Svizzera italiana, Cody Watson , Gabriele Bavota Università della Svizzera italiana (USI), Denys Poshyvanyk William and Mary
Pre-print
12:00
10m
Talk
Mining Fix Patterns for FindBugs ViolationsJournal-First
Journal-First Papers
Kui Liu Huawei Software Engineering Application Technology Lab, Dongsun Kim Furiosa.ai, Tegawendé F. Bissyandé SnT, University of Luxembourg, Shin Yoo Korea Advanced Institute of Science and Technology, Yves Le Traon University of Luxembourg
Pre-print
12:10
10m
Talk
Test-equivalence Analysis for Automatic Patch GenerationJournal-First
Journal-First Papers
Sergey Mechtaev University College London, Xiang Gao National University of Singapore, Shin Hwei Tan Southern University of Science and Technology, Abhik Roychoudhury National University of Singapore
12:20
10m
Talk
Discussion Period
Papers