2007
DOI: 10.1007/s10664-006-9033-1
|View full text |Cite
|
Sign up to set email alerts
|

An empirical study of cycles among classes in Java

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 sup… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
56
0
4

Year Published

2008
2008
2018
2018

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 81 publications
(62 citation statements)
references
References 22 publications
2
56
0
4
Order By: Relevance
“…The complete absence of static dependency cycles among plugins, except for a single temporary exception, may point to a possible threat to the validity of our results, because Melton and Tempero report thousands of cycles among Eclipse's classes, some of these cycles involving hundreds of classes [13]. One possibility is that the metadata does not capture all dependencies between plugins.…”
Section: Validationmentioning
confidence: 88%
See 1 more Smart Citation
“…The complete absence of static dependency cycles among plugins, except for a single temporary exception, may point to a possible threat to the validity of our results, because Melton and Tempero report thousands of cycles among Eclipse's classes, some of these cycles involving hundreds of classes [13]. One possibility is that the metadata does not capture all dependencies between plugins.…”
Section: Validationmentioning
confidence: 88%
“…Melton argues this would shed light on how effective such principles are to bring about certain system qualities, and it would align academic research better with practical needs. In a separate paper [13], Melton and Tempero check the design principle that dependencies between classes should be acyclic. They measure across a wide range of Java applications the sizes of all cycles present in each application, obtaining a range of different values.…”
Section: Introductionmentioning
confidence: 99%
“…It introduce a metric termed "depend-on-cycle" that shows that components with this property share some similarities with those directly in cycles. Second, it extends the metric (class reachability set size) proposed in (Melton and Tempero, 2007a), which is a variant of the CCD metric by Lakos . The new metric, named the "Interface Reduction rate for class reachability set size (IRCRSS)", identifies the reduction rate in the reachability set size between a class and its interface.…”
Section: C3-1 Added Metrics To Understand the Complexity Of Componentmentioning
confidence: 97%
“…Dependency cycles are detrimental to many software quality attributes such as modifiability, reusability, testability and reliability . It inhibits the formation of components to have manageable size and stand-alone properties (Melton and Tempero, 2007a). It is thus crucial to refactor those locations that are particularly defect and change prone.…”
Section: Rq2 How To Refactor Dependency Cycles To Impact the Structumentioning
confidence: 99%
“…The rest of the papers consists of 12 case studies [20][21][22][23][24][25][26][27][28][29][30][31], 11 reviews [32][33][34][35][36][37][38][39][40][41][42], 11 empirical analyzes [43][44][45][46][47][48][49][50][51][52][53], three comparative analyzes ( [54][55][56]) and two field studies [57,58].…”
Section: Introductionmentioning
confidence: 99%