arrow
Return

SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair

delete2021-01-01
delete217
delete
OA
AI
Z
Zimin Chen
S
Steve Kommrusch *
M
Michele Tufano
L
Louis-Noël Pouchet
D
Denys Poshyvanyk
M
Martin Monperrus
DOI:10.1109/TSE.2019.2940179delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
This paper presents a novel end-to-end approach to program repair based on sequence-to-sequence learning. We devise, implement, and evaluate a technique, called SequenceR, for fixing bugs based on sequence-to-sequence learning on source code. This approach uses the copy mechanism to overcome the unlimited vocabulary problem that occurs with big code. Our system is data-driven; we train it on 35,578 samples, carefully curated from commits to open-source repositories. We evaluate SequenceR on 4,711 independent real bug fixes, as well on the Defects4J benchmark used in program repair research. SequenceR is able to perfectly predict the fixed line for 950/4,711 testing samples, and find correct patches for 14 bugs in Defects4J benchmark. SequenceR captures a wide range of repair operators without any domain-specific top-down design.
Keywords:
Maintenance engineering
Computer bugs
Vocabulary
Training
Natural languages
Benchmark testing
Program repair
machine learning
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

W
William & Mary
Scholars:
2.6K
Papers: 2.2K
Citations: 1
C
Colorado State University
Scholars:
8.1K
Papers: 5.7K
Citations: 2.6W
R
Royal Institute of Technology
Scholars:
1.8W
Papers: 1.8W
Citations: 25
researcher View more organizations