Are some refactorings attached to fault-prone classes and others to fault-free classes?
Faculty of Sciences. Mathematics and Computer Science
Berlin :Springer-verlag berlin
AGILE METHODS: LARGE-SCALE DEVELOPMENT, REFACTORING, TESTING, AND ESTIMATION
15th International Conference on Agile Software Development (XP), MAY 26-30, 2014, Rome, ITALY
, p. 136-147
University of Antwerp
A topical and relevant issue in the area of refactoring is the nature and characteristics of classes to which refactorings are applied. In particular, if we scrutinise the total set of refactorings applied to the classes of a system over different releases, which refactorings are applied to fault-prone classes and which to fault-free classes? In this paper, we explore that facet of refactoring. Refactorings applied between six releases of three Eclipse packages are used as a basis of the study and the Ref-Finder tool used to extract up to sixty-five different refactorings. Interestingly, results showed that refactorings applied to highly fault-prone classes differed significantly from those applied to fault-free classes, in particular related to the 'rename method' refactoring; a corresponding trend for the 'move method' and 'move field' refactoring was found in 'fault-free' classes over the period while the add and remove parameter refactorings tended to remain constant. The research offers an insight into refactoring behaviour in light of faults (or no faults).