Sciweavers

ESE
2007

An empirical study of cycles among classes in Java

14 years 12 days ago
An empirical study of cycles among classes in Java
Many authors have implied dependency cycles are widespread among the classes of object-oriented software systems. Proponents of the design principle Avoid cyclic dependencies among modules have argued such cycles are detrimental to certain software quality attributes (e.g., understandability, testability, reusability, buildability and maintainability). In this paper we present the first significant empirical study of cycles among the classes of 78 open- and closed-source Java applications. We find that, of the applications comprising enough classes to support such a cycle, around 45% have a cycle involving at least 100 classes and around 10% have a cycle involving at least 1000 classes. We present further empirical evidence to support the contention these cycles are not due to intrinsic interdependencies between particular classes in a domain. Finally, we attempt to gauge the refactoring burden to break all these cycles using the concept of a minimum edge feedback set.
Hayden Melton, Ewan D. Tempero
Added 14 Dec 2010
Updated 14 Dec 2010
Type Journal
Year 2007
Where ESE
Authors Hayden Melton, Ewan D. Tempero
Comments (0)