In this paper, we analyze the effect of particular refactorings on class coupling for different aggregate releases of four object-oriented Open Source (OS) Java software systems: Azureus, Jtopen, Jedit and Tomcat, as representative of general Java OS systems. Specifically, the “add parameter” to a method and “remove parameter” from a method refactorings, as defined according to Fowler, may influence class coupling changing fan-in and fan-out of classes they are applied to. We investigate, both qualitatively and quantitatively, using a statistical approach, the global effect of the application of such refactorings, providing best fitting statistical distributions able to describe the changes in fan-in and fan-out couplings. Results show a net tendency of developers to apply such refactorings to classes with relatively high fan-in and fan-out and a persistence of the same statistical distribution for fan-in and fan-out before and after refactoring. Finally, we provide a detailed analysis of the best fitting parameters and of their changes when refactoring occurs, which may be useful for estimating the effect of refactoring on coupling before it is applied. Since refactoring requires time and effort, these estimates may help in determining costs and benefits.

Parameter-based refactoring and the relationship with fan-in/fan-out coupling

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

Abstract

In this paper, we analyze the effect of particular refactorings on class coupling for different aggregate releases of four object-oriented Open Source (OS) Java software systems: Azureus, Jtopen, Jedit and Tomcat, as representative of general Java OS systems. Specifically, the “add parameter” to a method and “remove parameter” from a method refactorings, as defined according to Fowler, may influence class coupling changing fan-in and fan-out of classes they are applied to. We investigate, both qualitatively and quantitatively, using a statistical approach, the global effect of the application of such refactorings, providing best fitting statistical distributions able to describe the changes in fan-in and fan-out couplings. Results show a net tendency of developers to apply such refactorings to classes with relatively high fan-in and fan-out and a persistence of the same statistical distribution for fan-in and fan-out before and after refactoring. Finally, we provide a detailed analysis of the best fitting parameters and of their changes when refactoring occurs, which may be useful for estimating the effect of refactoring on coupling before it is applied. Since refactoring requires time and effort, these estimates may help in determining costs and benefits.
2012
Coupling; Fan-in; Fan-out; Metric distribution; Refactoring; Software
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/104694
 Attenzione

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

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