The fractal dimension of software networks as a global quality metric

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.

[1]  F Kawasaki,et al.  Reciprocal relation between the fractal and the small-world properties of complex networks. , 2010, Physical review. E, Statistical, nonlinear, and soft matter physics.

[2]  Jennifer Vesperman Essential CVS , 2003 .

[3]  Robert M. Hierons,et al.  An evolutionary study of fan-in and fan-out metrics in OSS , 2010, RCIS 2010.

[4]  Albert,et al.  Emergence of scaling in random networks , 1999, Science.

[5]  Michele Marchesi,et al.  Power-Laws in a Large Object-Oriented Software System , 2007, IEEE Transactions on Software Engineering.

[6]  Andrei Z. Broder,et al.  Graph structure in the Web , 2000, Comput. Networks.

[7]  Walter Willinger,et al.  The origin of power laws in Internet topologies revisited , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[8]  Diomidis Spinellis,et al.  Power laws in software , 2008, TSEM.

[9]  Satoru Hayasaka,et al.  Universal fractal scaling of self-organized networks. , 2010, Physica A.

[10]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[11]  Yutao Ma,et al.  Measuring Structural Quality of Object-Oriented Softwares via Bug Propagation Analysis on Weighted Software Networks , 2010, Journal of Computer Science and Technology.

[12]  Hongyu Zhang,et al.  An investigation of the relationships between lines of code and defects , 2009, 2009 IEEE International Conference on Software Maintenance.

[13]  C. K. Michael Tse,et al.  Characterizing the Structural Quality of General Complex Software Networks , 2008, Int. J. Bifurc. Chaos.

[14]  R. Tonelli,et al.  Numerical study of the oscillatory convergence to the attractor at the edge of chaos , 2005 .

[15]  H E Stanley,et al.  Classes of small-world networks. , 2000, Proceedings of the National Academy of Sciences of the United States of America.

[16]  Alfred V. Aho,et al.  Do Crosscutting Concerns Cause Defects? , 2008, IEEE Transactions on Software Engineering.

[17]  Ricard V. Solé,et al.  Logarithmic growth dynamics in software networks , 2005, ArXiv.

[18]  Michele Marchesi,et al.  The fractal dimension metric and its use to assess object-oriented software quality , 2011, WETSoM '11.

[19]  Christopher R. Myers,et al.  Software systems as complex networks: structure, function, and evolvability of software collaboration graphs , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[20]  Giuliano Antoniol,et al.  Threats on building models from CVS and Bugzilla repositories: the Mozilla case study , 2007, CASCON.

[21]  Michele Marchesi,et al.  On the Distribution of Bugs in the Eclipse System , 2011, IEEE Transactions on Software Engineering.

[22]  Robert M. Hierons,et al.  A Longitudinal Study of Fan-In and Fan-Out Coupling in Open-Source Systems , 2011, Int. J. Inf. Syst. Model. Des..

[23]  M. Coraddu,et al.  Weak insensitivity to initial conditions at the edge of chaos in the logistic map , 2004, cond-mat/0403360.

[24]  Michele Marchesi,et al.  A modified Yule process to model the evolution of some object-oriented system properties , 2011, Inf. Sci..

[25]  Michele Marchesi,et al.  Assessing traditional and new metrics for object-oriented systems , 2010, WETSoM '10.

[26]  S. Havlin,et al.  Self-similarity of complex networks , 2005, Nature.

[27]  Sergiu M. Dascalu,et al.  Unit-level test adequacy criteria for visual dataflow languages and a testing methodology , 2008, TSEM.

[28]  Jing Liu,et al.  A Hybrid Set of Complexity Metrics for Large-Scale Object-Oriented Software Systems , 2010, Journal of Computer Science and Technology.

[29]  D. Sornette,et al.  Exploring self-similarity of complex cellular networks: The edge-covering method with simulated annealing and log-periodic sampling , 2006, cond-mat/0605676.

[30]  A. Barabasi,et al.  Scale-free characteristics of random networks: the topology of the world-wide web , 2000 .

[31]  Giancarlo Succi,et al.  A stochastic model of software maintenance and its implications on extreme programming processes , 2000 .

[32]  S. Havlin,et al.  How to calculate the fractal dimension of a complex network: the box covering algorithm , 2007, cond-mat/0701216.

[33]  Adam Myatt Pro NetBeans TM IDE 5.5 Enterprise Edition , 2007 .

[34]  Michele Marchesi,et al.  Fractal dimension in software networks , 2006 .

[35]  Michele Marchesi,et al.  Computing the Fractal Dimension - A Global Metrics for Large Software Systems , 2010, 2010 International Conference on Computational Intelligence and Software Engineering.

[36]  Jing Li,et al.  The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies , 2010, 2010 Asia Pacific Software Engineering Conference.

[37]  Michalis Faloutsos,et al.  On power-law relationships of the Internet topology , 1999, SIGCOMM '99.

[38]  Marko Bajec,et al.  Self-similar scaling of density in complex real-world networks , 2011, ArXiv.

[39]  Sharon L. Milgram,et al.  The Small World Problem , 1967 .