On power-law relationships of the Internet topology
Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
Proceedings of the 9th international World Wide Web conference on Computer networks : the international journal of computer and telecommunications netowrking
A stochastic model of software maintenance and its implications on extreme programming processes
Extreme programming examined
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Pro NetBeansTM IDE 5.5 Enterprise Edition
Pro NetBeansTM IDE 5.5 Enterprise Edition
Power-Laws in a Large Object-Oriented Software System
IEEE Transactions on Software Engineering
Threats on building models from CVS and Bugzilla repositories: the Mozilla case study
CASCON '07 Proceedings of the 2007 conference of the center for advanced studies on Collaborative research
ACM Transactions on Software Engineering and Methodology (TOSEM)
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Assessing traditional and new metrics for object-oriented systems
Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics
A modified Yule process to model the evolution of some object-oriented system properties
Information Sciences: an International Journal
The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies
APSEC '10 Proceedings of the 2010 Asia Pacific Software Engineering Conference
The fractal dimension metric and its use to assess object-oriented software quality
Proceedings of the 2nd International Workshop on Emerging Trends in Software Metrics
On the Distribution of Bugs in the Eclipse System
IEEE Transactions on Software Engineering
Hi-index | 0.07 |
We analyzed the source code of various releases of two large Object Oriented Open Source Java software systems, Eclipse and Netbeans, investigating the complexity of the whole release and of its subprojects. We show that when the classes in the source code and the dependencies between them are considered, such systems can be viewed as complex software networks, and emerging structures, characteristic of fractals, appear at different length scales - on the entire systems and on subprojects of any size. We were able to find in all examined cases a scaling region where it is possible to compute a self-similar coefficient, the fractal dimension, using ''the box counting method''. Such a coefficient is a single metric related to the system's complexity. More importantly, we were able to show that this measure looks fairly related to software quality, acting as a global quality software metric. In particular, we computed the defects of each software system, and we found a clear correlation among the number of defects in the system, or in a subproject, and its fractal dimension. This correlation exists across all the subprojects and also along the time evolution of the software systems, as new releases are delivered.