An empirical study of cycles among classes in Java

65Citations
Citations of this article
39Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Advocates of the design principle avoid cyclic dependencies among modules have argued that cycles are detrimental to software quality attributes such as understandability, testability, reusability, buildability and maintainability, yet folklore suggests such cycles are common in real object-oriented systems. 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, about 45% have a cycle involving at least 100 classes and around 10% have a cycle involving at least 1,000 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 strength of connection among the classes in a cycle using the concept of a minimum edge feedback set. © 2007 Springer Science+Business Media, LLC.

Cite

CITATION STYLE

APA

Melton, H., & Tempero, E. (2007). An empirical study of cycles among classes in Java. Empirical Software Engineering, 12(4), 389–415. https://doi.org/10.1007/s10664-006-9033-1

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free