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).

Are Some Refactorings Attached to Fault-Prone Classes and Others to Fault-Free Classes?

TONELLI, ROBERTO;MARCHESI, MICHELE;
2014-01-01

Abstract

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).
2014
978-3-319-14358-3
Refactoring; Faults; Renaming
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11584/59687
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 1
social impact