2019
DOI: 10.1145/3340544
|View full text |Cite
|
Sign up to set email alerts
|

An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation

Abstract: Millions of open-source projects with numerous bug fixes are available in code repositories. This proliferation of software development histories can be leveraged to learn how to fix common programming bugs. To explore such a potential, we perform an empirical study to assess the feasibility of using Neural Machine Translation techniques for learning bug-fixing patches for real defects. First, we mine millions of bug-fixes from the change histories of projects hosted on GitHub, in order to extract meaningful e… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

7
301
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
3
3

Relationship

1
5

Authors

Journals

citations
Cited by 220 publications
(308 citation statements)
references
References 97 publications
7
301
0
Order By: Relevance
“…During patch inference, we still generate abstract buggy context for the bug, as described in Section 3.2. But we will use beam search to generate multiple likely patches for the same buggy line, as done in related work [10], [24]. Beam search works by keeping the n best sequences up to the current decoder state.…”
Section: Patch Inferencementioning
confidence: 99%
See 4 more Smart Citations
“…During patch inference, we still generate abstract buggy context for the bug, as described in Section 3.2. But we will use beam search to generate multiple likely patches for the same buggy line, as done in related work [10], [24]. Beam search works by keeping the n best sequences up to the current decoder state.…”
Section: Patch Inferencementioning
confidence: 99%
“…Vocabulary In this paper, we consider a vocabulary of the 1,000 most common tokens. To the best of our knowledge, this is one of the largest vocabularies considered for machine learning for patch generation: for comparison, DeepFix [27] has a vocabulary size of 129 words, and Tufano et al [10] considered a vocabulary size of 430 words.…”
Section: Implementation Details and Parameter Settingsmentioning
confidence: 99%
See 3 more Smart Citations