Europhys. Lett., 76 (6), pp. 1221–1227 (2006) DOI: 10.1209/epl/i2006-10384-1 EUROPHYSICS LETTERS 15 December 2006 Fractal dimension in software networks G. Concas, M. F. Locci, M. Marchesi, S. Pinna and I. Turnu Dipartimento di Ingegneria Elettrica ed Elettronica Universit` a di Cagliari - piazza d’armi, 09123 Cagliari, Italy received 5 June 2006; accepted in final form 19 October 2006 published online 16 November 2006 PACS. 89.75.-k – Complex systems. PACS. 89.75.Da – Systems obeying scaling laws. PACS. 61.43.Hv – Fractals; macroscopic aggregates (including diffusion-limited aggregates). Abstract. – A large number of real networks are characterized by two fundamental properties: they are small world and scale-free. A recent paper demonstrated that the structure of many complex networks is also self-similar under a length-scale transformation, and calculated their fractal dimension using the “box counting” method. We studied nine large object-oriented software systems, finding that the graphs associated to these networks are self-similar. We also studied the time evolution of the fractal dimension during system growth, finding a significant correlation between the fractal dimension and object-oriented complexity metrics known to be correlated with software fault-proneness. Thus, in software systems the fractal dimension could be considered as a measure of internal complexity, and consequently of the system quality. Introduction. – Small-world and scale-free properties have been found in a large number of real networks [1]. A recent study [2] has found that the structure of these networks is often also self-similar, and it is possible to calculate their fractal dimension using the box-counting method. This method consists in covering the entire network with the minimum number of boxes N B of linear size ℓ B . If the number of boxes scales with the linear size ℓ B following a power law (see eq. (1)), then d B is the fractal dimension, or box dimension, of the graph [3]: N B (ℓ B ) ∼ ℓ −dB B . (1) Song et al. applied this procedure to several different real networks: a part of WWW, a social network, the biological networks of protein-protein interaction found in E. Coli and H. Sapiens, etc., finding consistent self-similar behavior. On the other hand, they analyzed also the Barabasi-Albert growth model of complex networks [4] —which introduces the concept of preferential attachment— finding that graphs generated in this way, as well as the Internet, are not self-similar( 1 ). In our research, we studied whether networks associated to software systems have a fractal dimension associated, and in this case what is its value. In particular, we considered object-oriented (OO) software systems, OO programming being the most widely used software technology. Object-oriented systems. The basic building block of OO programming is the class, com- posed of a data structure and of procedures able to access and process these data. The data structure is made up of fields (instance or class variables) that represent the state of an object. ( 1 )See Supplementary Information of paper [2]. c EDP Sciences Article published by EDP Sciences and available at http://www.edpsciences.org/epl or http://dx.doi.org/10.1209/epl/i2006-10384-1