2019
DOI: 10.1002/smr.2173
|View full text |Cite
|
Sign up to set email alerts
|

Discovering common bug‐fix patterns: A large‐scale observational study

Abstract: Background: Automatic program repair aims to reduce costs associated with defect repair.The detection and characterization of common bug-fix patterns in software repositories play an important role in advancing this field. Aim: In this paper, we characterize the occurrence of known bug-fix patterns in Java repositories at an unprecedented large scale. Furthermore, we propose a novel automatic technique for unveiling frequent and isolated repair actions corresponding to realistic bug fixes in Java. Method: The … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
7
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 8 publications
(7 citation statements)
references
References 78 publications
(197 reference statements)
0
7
0
Order By: Relevance
“…Nguyen et al used Jsync to track cloned code in the software evolution process [28]. Moreover, many studies used GumTree to analyze code patterns of changes such as bug-fixing changes [5], [13], [18], [21], [23], [29], logging changes [22] and changes to online code examples [34]. Also, prior work trained models based on the edit actions of changes that are calculated using GumTree [7], [15], [24], [31], [32].…”
Section: B Use Of Ast Mapping Algorithmsmentioning
confidence: 99%
“…Nguyen et al used Jsync to track cloned code in the software evolution process [28]. Moreover, many studies used GumTree to analyze code patterns of changes such as bug-fixing changes [5], [13], [18], [21], [23], [29], logging changes [22] and changes to online code examples [34]. Also, prior work trained models based on the edit actions of changes that are calculated using GumTree [7], [15], [24], [31], [32].…”
Section: B Use Of Ast Mapping Algorithmsmentioning
confidence: 99%
“…[ 1 ] proposed the definition and the corresponding fix patterns for Java language. However, automated inferring fix patterns from fix changes in developer code bases [ 4 8 ] requires identification and collection of a large number of relevant bug fixes. Hence, patterns must be precise and diverse to actually guarantee the repair effect.…”
Section: Introductionmentioning
confidence: 99%
“…Other earlier studies, on the other hand, have examined code change patterns for non-adaptive software evolution at a high level of details. Campos et al [20] performed a large-scale study to explore the repetitiveness of several bug-fix patterns in history repositories of five Java projects. The study found the prevalence of five bug-fix patterns such as addition of if precondition check and method call with different number of parameters.…”
Section: Introductionmentioning
confidence: 99%
“…The study found the prevalence of five bug-fix patterns such as addition of if precondition check and method call with different number of parameters. Actually, the study that was undertaken in [20] focused on a set of patterns that were originally recognized by Pan et al [21]. Pan and other authors manually classified fixing changes into several patterns based on the syntax of the change.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation