DocumentCode :
583162
Title :
When Does a Refactoring Induce Bugs? An Empirical Study
Author :
Bavota, Gabriele ; De Carluccio, Bernardino ; De Lucia, Andrea ; Penta, Massimiliano Di ; Oliveto, Rocco ; Strollo, Orazio
Author_Institution :
Univ. of Salerno, Fisciano, Italy
fYear :
2012
fDate :
23-24 Sept. 2012
Firstpage :
104
Lastpage :
113
Abstract :
Refactorings are - as defined by Fowler - behavior preserving source code transformations. Their main purpose is to improve maintainability or comprehensibility, or also reduce the code footprint if needed. In principle, refactorings are defined as simple operations so that are "unlikely to go wrong" and introduce faults. In practice, refactoring activities could have their risks, as other changes. This paper reports an empirical study carried out on three Java software systems, namely Apache Ant, Xerces, and Ar-go UML, aimed at investigating to what extent refactoring activities induce faults. Specifically, we automatically detect (and then manually validate) 15,008 refactoring operations (of 52 different kinds) using an existing tool (Ref-Finder). Then, we use the SZZ algorithm to determine whether it is likely that refactorings induced a fault. Results indicate that, while some kinds of refactorings are unlikely to be harmful, others, such as refactorings involving hierarchies (e.g., pull up method), tend to induce faults very frequently. This suggests more accurate code inspection or testing activities when such specific refactorings are performed.
Keywords :
program debugging; Apache Ant; Argo UML; Java software systems; Xerces; code inspection; empirical study; refactoring induce bugs; source code transformations; testing activities; Computer bugs; Context; Data mining; Java; Software algorithms; Software systems; Empirical Studies; Fault-inducing changes; Mining software repositories; Refactoring;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Source Code Analysis and Manipulation (SCAM), 2012 IEEE 12th International Working Conference on
Conference_Location :
Trento
Print_ISBN :
978-1-4673-2398-7
Type :
conf
DOI :
10.1109/SCAM.2012.20
Filename :
6392107
Link To Document :
بازگشت