Software architecture graphs as complex networks: A novel partitioning scheme to measure stability and evolution

  • Authors:
  • S. Jenkins;S. R. Kirk

  • Affiliations:
  • Department of Informatics and Mathematics, University West, Trollhättan 461 29, Sweden;Department of Informatics and Mathematics, University West, Trollhättan 461 29, Sweden

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

Quantified Score

Hi-index 0.09

Visualization

Abstract

The stability and evolution of the structure of consecutive versions of a series of software architecture graphs are analysed using the theory of complex networks. Brief comparisons are drawn between the scale-free behaviour and second order phase transitions. On this basis a software design metric I"c"c is proposed. This software metric is used to quantify the evolution of the stability vs. maintainability of the software through various releases. It is demonstrated that the classes in the software graph are acquiring more out-going calls than incoming calls as the software ages. Three examples of software applications where maintainability and continuous refactoring are an inherent part of their development process are presented, in addition to a Sun Java2 framework where growth and backward compatibility are the more important factors for the development. Further to this a projected future evolution of the software structure and maintainability is calculated. Suggestions for future applications to software engineering and the natural sciences are briefly presented.