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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call