The fractal dimension of software networks as a global quality metric

  • Authors:
  • I. Turnu;G. Concas;M. Marchesi;R. Tonelli

  • Affiliations:
  • -;-;-;-

  • Venue:
  • Information Sciences: an International Journal
  • Year:
  • 2013

Quantified Score

Hi-index 0.07

Visualization

Abstract

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.