On Architectural Stability and Evolution

  • Authors:
  • Mehdi Jazayeri

  • Affiliations:
  • -

  • Venue:
  • Ada-Europe '02 Proceedings of the 7th Ada-Europe International Conference on Reliable Software Technologies
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many organizations are now pursuing software architecture as a way to control their software development and evolution costs and challenges. A software architecture describes a system's structure and global properties and thus determines not only how the system should be constructed but also guides its evolution. An important challenge is to able to evaluate the "goodness" of a proposed architechture. I suggest stability or resilience as a primary criterion for evaluating an architecture. The stability of an architecture is a measure of how well it accomodates the evolution of the system without requiring changes to th architecture. As opposed to traditional predictive approaches to architecture evalution, I suggest retrospective analysis for evaluating architectural stability by examining the amount of change applied in successive releases of a software product. I review the results of a case study of twenty releases of a telecommunication software system containing a few million lines of code to show how retrospective analysis may be performed.