Title :
Refactoring and its Relationship with Fan-in and Fan-out: An Empirical Study
Author :
Murgia, A. ; Tonelli, R. ; Marchesi, M. ; Concas, G. ; Counsell, S. ; McFall, J. ; Swift, S.
Author_Institution :
Dept. of Electr. Eng., Univ. of Cagliari, Cagliari, Italy
Abstract :
Many of the seventy-two refactorings originally proposed by Fowler have the aim of reducing coupling in classes and thereby aiding programmer maintainability. While we might assume that classes with high levels of coupling would be the targets for refactoring more often than any other type of class, no empirical evidence exists to support this assumption. In this paper, we explore that open question through the extraction of fifty-two of Fowler´s catalog of refactorings drawn from versions of four open-source systems. We compare the coupling characteristics of each set of refactored classes with the corresponding set of non-refactored classes (those for which no refactorings were applied across versions), we seek to inform one overriding research question: is there a significant difference between these two sets of classes in terms of their level of coupling? Results showed that highly-coupled classes were more prone to refactoring, particularly through a set of ´core´ refactorings. However, wide variations were found across systems for our measures of coupling namely, fan-in and fan-out. Specific individual refactorings were also explored to gain an understanding of why these differences may have occurred.
Keywords :
public domain software; software maintenance; coupling reduction; fan-in; fan-out; open-source system; refactoring; Catalogs; Couplings; Data mining; Java; Measurement; Open source software; Unified modeling language; Refactoring; coupling; fan-in; fan-out; open-source;
Conference_Titel :
Software Maintenance and Reengineering (CSMR), 2012 16th European Conference on
Conference_Location :
Szeged
Print_ISBN :
978-1-4673-0984-4
DOI :
10.1109/CSMR.2012.17