DocumentCode
146913
Title
On the Shape of Circular Dependencies in Java Programs
Author
Al-Mutawa, Hussain A. ; Dietrich, Jens ; Marsland, S. ; McCartin, Catherine
Author_Institution
Sch. of Eng. & Adv. Technol., Massey Univ., Palmerston North, New Zealand
fYear
2014
fDate
7-10 April 2014
Firstpage
48
Lastpage
57
Abstract
Circular dependencies between software artefacts are widely considered as problematic. However, empirical studies of Java programs have shown that most programs are riddled with circular dependencies. This seems to imply that not all circular dependencies are as detrimental to software quality as previously thought. Clearly, a better understanding of the types of circular dependency and their effect on software quality is required. In this paper, we provide precise definitions for different types of circular dependencies, analyse their topology and investigate the relationship between circular dependencies and the package containment tree. Our analysis is based on the popular Qualities Corpus data set. We find that in package dependency graphs, most circular dependencies are "package local": they are confined to branches of the package containment tree where they form around parent packages. Existing research indicates that these dependencies may not be critical. This may explain why circular dependencies are so common in widely-used real-world programs.
Keywords
Java; software quality; trees (mathematics); Java programs; circular dependency; package containment tree; package dependency graphs; package local; parent packages; qualities corpus data set; software artifacts; software quality; Algorithm design and analysis; Classification algorithms; Image edge detection; Java; Measurement; Shape; Topology; Cyclic Dependency; Java; Software Design; Software Quality; Topology;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Conference (ASWEC), 2014 23rd Australian
Conference_Location
Milsons Point, NSW
Type
conf
DOI
10.1109/ASWEC.2014.15
Filename
6824106
Link To Document