A Longitudinal Study of Fan-In and Fan-Out Coupling in Open-Source Systems

  • Authors:
  • Steve Counsell;Asma Mubarak;Robert M. Hierons

  • Affiliations:
  • Brunel University, UK;Brunel University, UK;Brunel University, UK

  • Venue:
  • International Journal of Information System Modeling and Design
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Excessive coupling between object-oriented classes is widely acknowledged as a maintenance problem that can result in a higher propensity for faults in systems and a 'stored up' future problem. This paper explores the relationship between 'fan-in' and 'fan-out' coupling metrics over multiple versions of open-source software. More specifically, the relationship between the two metrics is explored to determine patterns of growth in each over the course of time. The JHawk tool was used to extract the two metrics from five open-source systems. Results show a wide range of traits in the classes to explain both high and low levels of fan-in and fan-out. Evidence was also found of certain 'key' classes with both high fan-in and fan-out and 'client' and 'server'-type classes with high fan-out and fan-in, respectively. This paper provides an explanation of the composition and existence of such classes as well as for disproportionate increases in each of the two metrics over time. Finally, it was found that high fan-in class values tended to be associated with small classes; classes with high fan-out on the other hand tended to be relatively large classes.