Nothing Special   »   [go: up one dir, main page]

skip to main content
article

The fractal dimension of software networks as a global quality metric

Published: 01 October 2013 Publication History

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.

References

[1]
Amaral, L.A.N., Scala, A., Barthmy, M. and Stanley, H.E., Classes of small-world networks. Proceedings of the National Academy of Sciences of the United States of America. v97. 11149-11152.
[2]
K. Ayari, P. Meshkinfam, G. Antoniol, M. Di Penta, Threats on building models from cvs and bugzilla repositories: the mozilla case study, in: Proceedings of the 2007 Conference of the Center for Advanced Studies on Collaborative Research, CASCON '07, New York, NY, USA, 2007, pp. 215-228.
[3]
Barabasi, A., Albert, R. and Jeong, H., Scale-free characteristics of random networks: the topology of the world wide web. Physica A. v281. 69-77.
[4]
Barabasi, A.-L. and Albert, R., Emergence of scaling in random networks. Science. v286. 509-512.
[5]
Blagus, N., Subelj, L. and Bajec, M., Self-similar scaling of density in complex real-world networks. Physica A. v391. 27942802
[6]
Brodera, A., Kumar, R., Maghoul, F., Raghavan, P., Rajagopalan, S., Stata, R., Tomkins, A. and Wiener, J., Graph structure in the web. Computer Networks. v33. 309-320.
[7]
Bugzilla. <http://www.bugzilla.org/ > (accessed 11.12).
[8]
Chen, Q., Chang, H., Govindan, R. and Jamin, S., The origin of power laws in internet topologies revisited. In: Proceedings of the 21st Annual Joint Conference of the IEEE Computer and Communications Societies, IEEE Computer Society, Los Alamitos, CA. pp. 1-4.
[9]
Chidamber, S.R. and Kemerer, C.F., A metrics suite for object-oriented design. IEEE Transactions on Software Engineering. v20. 476-492.
[10]
Concas, G., Locci, M., Marchesi, M., Pinna, S. and Turnu, I., Fractal dimension in software networks. Europhysics Letters. v76. 1221-1227.
[11]
Concas, G., Marchesi, M., Pinna, S. and Serra, N., Power-laws in a large object-oriented software system. IEEE Transactions on Software Engineering. v33. 687-708.
[12]
Concas, G., Locci, M., Marchesi, M., Tonelli, R. and Turnu, I., Computing the fractal dimension - a global metrics for large software systems. In: Proc. of 14th International Conference on Computational Intelligence and Software Engineering (CISE), IEEE Press, Wuhan, China. pp. 1-4.
[13]
Concas, G., Marchesi, M., Murgia, A., Tonelli, R. and Turnu, I., On the distribution of bugs in the eclipse system. IEEE Transactions on Software Engineering. v37 i6. 872-877.
[14]
G. Concas, M. Marchesi, A. Murgia, S. Pinna, R. Tonelli, Assessing traditional and new metrics for object-oriented systems, in: Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics, WETSoM 2010, Capetown, SA, 2010, pp. 24-31.
[15]
Coraddu, M., Meloni, F., Mezzorani, G. and Tonelli, R., Weak insensitivity to initial conditions at the edge of chaos in the logistic map. Physica A: Statistical Mechanics and its Applications. v340. 234-239.
[16]
Do crosscutting concerns cause defects?. IEEE Transactions on Software Engineering. v34. 497-515.
[17]
Faloutsos, M., Faloutsos, P. and Faloutsos, C., On power-law relationships of the internet topology. Computer Communications Review. v29. 251-264.
[18]
Focardi, S., Marchesi, M. and Succi, G., A stochastic model of software maintenance and its implications on extreme programming processes. In: The XP Series, Addison-Wesley, Boston, MA. pp. 191-206.
[19]
Holzner, S., Eclipse. 2004. O'Reilly Media, Sebastopol, CA.
[20]
Kawasaki, F. and Yakubo, K., Reciprocal relation between the fractal and the small-world properties of complex networks. Physical Review E. v82. 036113
[21]
Laurienti, P.J., Joyce, K.E., Telesford, Q.K., Burdette, J.H. and Hayasaka, S., Universal fractal scaling of self-organized networks. Physica A. v390. 3608-3613.
[22]
Liu, J., LU, J., HE, K. and LI, B., Characterizing the structural quality of general complex software networks. International Journal of Bifurcation and Chaos. v18. 605-613.
[23]
Louridas, P., Spinellis, D. and Vlachos, V., Power laws in software. ACM Transactions on Software Engineering and Methodology. v18. 1-26.
[24]
Ma, Y.T., He, K.Q., Li, B., Liu, J. and Zhou, X.Y., A hybrid set of complexity metrics for large-scale object-oriented software systems. J.of Computer Science and Technology. v25. 11841201
[25]
Milgram, S., The small world problem. Psychology Today. v2. 60-67.
[26]
Mubarak, A., Counsell, S. and Hierons, RM., An evolutionary study of fan-in and fan-out metrics in OSS. International Journal of Information System Modelling and Design. v2. 1-26.
[27]
A. Myatt, Pro NetBeans IDE 5.5 Enterprise Edition. Apress, New York, NY, 2007.
[28]
Myers, C.R., Software systems as complex networks: structure, function, and evolvability of software collaboration graphs. Physical Review E. v68. 046116
[29]
Measuring structural quality of object-oriented softwares via bug propagation analysis on weighted software networks. Journalof Computer Science and Technology. v25. 1202-1213.
[30]
Song, C., Havlin, S. and Makse, H., Self-similarity of complex networks. Nature. v433. 392-395.
[31]
Song, C., Gallos, L., Havlin, S. and Makse, H.A., How to calculate the fractal dimension of a complex network: the box covering algorithm. Journal of Statistical Mechanics. v1007. P03006
[32]
E. Tempero, C. Anslow, J. Dietrich, T. Han, J. Li, M. Lumpe, H. Melton, J. Noble, Qualitas corpus: a curated collection of java code for empirical studies, in: 2010 Asia Pacific Software Engineering Conference (APSection 2010), Sydney, Australia, December 2010, pp. 336-345.
[33]
Numerical study of the oscillatory convergence to the attractor at the edge of chaos. European Physical Journal B. v50. 355-359.
[34]
A modified Yule process to model the evolution of some object-oriented system properties. Information Sciences. v181. 883-902.
[35]
I. Turnu, G. Concas, M. Marchesi, R. Tonelli, The fractal dimension metric and its use to assess object-oriented software quality, in: Proceedings of the 2011 ICSE Workshop on Emerging Trends in Software Metrics, WETSoM 2011, Honolulu, HI, 2011, pp. 69-74.
[36]
S. Valverde, R.V. Sole, Hierarchical Small Worlds in Software Architecture, Santa Fe Institute Working Paper 03-07-044, Santa Fe, NM, 2003.
[37]
Valverde, S. and Sole, R.V., Logarithmic growth dynamics in software networks. Europhysics Letters. v72. 858-864.
[38]
Vesperman, J., Essential CVS. 2009. O'Reilly Media, Sebastopol, CA.
[39]
H. Zhang, An investigation of the relationships between lines of code and defects, in: Proc. IEEE Int. Conf. on Software Maintenance, ICSM 2009, Edmonton, Canada, September 2009, pp. 274-283.
[40]
Zhou, W.X., Jiang, Z.Q. and Sornette, D., Exploring self-similarity of complex cellular networks: the edge-covering method with simulated annealing and log-periodic sampling. Physica A. v375. 741-752.

Cited By

View all
  • (2024)Toward the Fractal Dimension of ClassesACM Transactions on Software Engineering and Methodology10.1145/368884434:2(1-50)Online publication date: 16-Aug-2024
  • (2021)A New Model of Software Network for Object-Oriented Software System2021 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC52423.2021.9659214(516-522)Online publication date: 17-Oct-2021
  • (2018)Analyzing the structure of Java software systems by weighted K-core decompositionFuture Generation Computer Systems10.1016/j.future.2017.09.03983:C(431-444)Online publication date: 1-Jun-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Information Sciences: an International Journal
Information Sciences: an International Journal  Volume 245, Issue
October, 2013
325 pages

Publisher

Elsevier Science Inc.

United States

Publication History

Published: 01 October 2013

Author Tags

  1. Fractal dimension
  2. Object-oriented languages
  3. Software engineering
  4. Software metrics
  5. Software quality

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Toward the Fractal Dimension of ClassesACM Transactions on Software Engineering and Methodology10.1145/368884434:2(1-50)Online publication date: 16-Aug-2024
  • (2021)A New Model of Software Network for Object-Oriented Software System2021 IEEE International Conference on Systems, Man, and Cybernetics (SMC)10.1109/SMC52423.2021.9659214(516-522)Online publication date: 17-Oct-2021
  • (2018)Analyzing the structure of Java software systems by weighted K-core decompositionFuture Generation Computer Systems10.1016/j.future.2017.09.03983:C(431-444)Online publication date: 1-Jun-2018
  • (2015)Forecasting Java Software Evolution Trends Employing Network ModelsIEEE Transactions on Software Engineering10.1109/TSE.2014.238124941:6(582-602)Online publication date: 1-Jun-2015
  • (2015)Analyzing maintainability and reliability of object-oriented software using weighted complex networkJournal of Systems and Software10.1016/j.jss.2015.08.014110:C(28-53)Online publication date: 1-Dec-2015

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media