Skip to main content
Log in

Multi-granularity evolution analysis of software using complex network theory

  • Published:
Journal of Systems Science and Complexity Aims and scope Submit manuscript

Abstract

Software systems are a typical kind of man-made complex systems. Understanding their evolutions can lead to better software engineering practices. In this paper, the authors use complex network theory as a tool to analyze the evolution of object-oriented (OO) software from a multigranularity perspective. First, a multi-granularity software networks model is proposed to represent the topological structures of a multi-version software system from three levels of granularity. Then, some parameters widely used in complex network theory are applied to characterize the software networks. By tracing the parameters’ values in consecutive software systems, we have a better understanding about software evolution. A case study is conducted on an open source OO project, Azureus, as an example to illustrate our approach, and some underlying evolution characteristics are uncovered. These results provide a different dimension to our understanding of software evolutions and also are very useful for the design and development of OO software systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. L. Costa, O. Oliveria, and G. Travieso, Analyzing and modeling real-world phenomena with complex networks: A survey of applications, ArXiv: 0711.3199v2, 2008.

  2. J. Lü and G. Chen, Analysis, control and application of complex networks: A brief overview, Proceedings of the 2009 IEEE International Symposium on Circuits and Systems, Taipei, Taiwan, 2009.

  3. J. Lü and D. Liu, A brief overview of the complex biological and engineering networks, Proceedings of the 2007 IEEE International Symposium on Circuits and Systems, New Orleans, USA, 2007.

  4. C. R. Myers, Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs, Physical Review E, 2003, 68: 046116.

    Article  Google Scholar 

  5. A. Potanin, J. Noble, M. Frean, and R. Biddle, Scale-free geometry in OO programs, Communication of the ACM, 2005, 48(5): 99–103.

    Article  Google Scholar 

  6. G. Concas, M. Marchesi, S. Pinna, and N. Serra, Power-laws in a large object-oriented software system, IEEE Transactions on Software Engineering, 2007, 33(10): 687–708.

    Article  Google Scholar 

  7. W. Pan, B. Li, Y. Ma, Y. Qin, and X. Zhou, Measuring structural quality of object-oriented softwares via bug propagation analysis on weighted software networks, Journal of Computer Science and Technology, 2010, 25(6): 1202–1213.

    Article  Google Scholar 

  8. J. Liu, J. Lü, K. He, B. Li, and C. K. Tse, Characterizing the structure quality of general complex software networks, International Journal of Bifurcation and Chaos, 2008, 18(2): 605–613.

    Article  Google Scholar 

  9. J. Lü, H. Wang, and K. He, Complex dynamical networks and their applications in software engineering, Journal of Computer Research and Development, 2009, 45(12): 2052–2059.

    Google Scholar 

  10. B. Li, Y. Ma, J. Liu, and Q. Ding, Advances in the studies on complex networks of software systems, Advances in Mechanics, 2008, 38(6): 805–814.

    Google Scholar 

  11. H. C. Gall and M. Lanza, Software evolution: Analysis and visualization, Proceedings of the 28th International Conference on Software Engineering, Shanghai, China, 2006.

  12. S. Jenkins and S. R. Kirk, Software architecture graphs as complex networks: A novel partitioning scheme to measure stability and evolution, Information Science, 2007, 177(12): 2587–2601.

    Article  Google Scholar 

  13. M. Shi, X. Li, and X. Wang, Evolving topology of Java networks, Proceedings of the 6th World Congress on Control and Automation, Dalian, China, 2006.

  14. L. Wang, Z. Wang, C. Yang, L. Zhang, and Q. Ye, Linux kernels as complex networks: A novel method to study evolution, Proceedings of the 25th International Conference on Software Maintenance, Edmonton, Alberta, Canada, 2009.

  15. H. Li, B. Huang, and J. Lü, Dynamical evolution analysis of the object-oriented software systems, Proceedings of the 2008 IEEE World Congress on Computational Intelligence, Hong Kong, 2008.

  16. Azureus web site, http://sourceforge.net/projects/azureus/files.

  17. Sourceforge repository web site, http://sourceforge.org.

  18. D. R. Cox and P. A. W. Lewis, The Statistical Analysis of Series of Events, Chapman and Hall, 1966.

  19. A. L. Barabási, H. Jeong, and Z. Néda, Evolution of the social network of scientific collaborations, Physica A, 2002, 311(3–4): 590–614.

    Article  MATH  MathSciNet  Google Scholar 

  20. A. P. Masucci and G. J. Rodgers, Network properties of written human language, Physical Review E, 2006, 74: 026102.

    Article  Google Scholar 

  21. A. P. Masucci and G. J. Rodgers, Analyzing open-source software systems as complex networks, Physica A, 2008, 387(24): 6190–6200.

    Article  Google Scholar 

  22. A. L. Barabási and R. Albert, Emergence of scaling in random networks, Science, 1999, 286: 509–512.

    Article  MathSciNet  Google Scholar 

  23. D. J. Watts and S. H. Strogatz, Collective dynamics of small-world networks, Nature, 1998, 393(6684): 440–442.

    Article  Google Scholar 

  24. M. E. J. Newman, Fast algorithm for detecting community structure in networks, Physical Review, 2004, 69: 066133.

    Google Scholar 

  25. M. E. J. Newman, Assortative mixing in networks, Physical Review Letters, 2002, 89: 208701.

    Article  Google Scholar 

  26. S. Zhou and R. J. Mondragon, The rich-club phenomenon in the Internet topology, IEEE Communication Letters, 2004, 8(3): 180–182.

    Article  Google Scholar 

  27. Data, http://blog.sina.com.cn/breezepan.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bing Li.

Additional information

This research is supported by the National Basic Research 973 Program of China under Grant No. 2007CB310801, the National Natural Science Foundation of China under Grant Nos. 60873083 and 61003073, the Research Fund for the Doctoral Program of Higher Education of China under Grant No. 20090141120022, the Fundamental Research Funds for the Central Universities of China under Grant Nos. 114013 and 6082005, and the Scientific Research Fund of Zhejiang Provincial Education Department under Grant No. Y201018008.

This paper was recommended for publication by Editor Jinhu LÜ.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pan, W., Li, B., Ma, Y. et al. Multi-granularity evolution analysis of software using complex network theory. J Syst Sci Complex 24, 1068–1082 (2011). https://doi.org/10.1007/s11424-011-0319-z

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11424-011-0319-z

Key words

Navigation