Assessing architectural evolution: a case study

  • Authors:
  • Michel Wermelinger;Yijun Yu;Angela Lozano;Andrea Capiluppi

  • Affiliations:
  • Computing Department & Centre for Research in Computing, The Open University, Milton Keynes, UK;Computing Department & Centre for Research in Computing, The Open University, Milton Keynes, UK;ICTEAM, Université catholique de Louvain, Louvain-la-Neuve, Belgium 1348;School of Computing, Information Technology and Engineering, University of East London, London, UK

  • Venue:
  • Empirical Software Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes to use a historical perspective on generic laws, principles, and guidelines, like Lehman's software evolution laws and Martin's design principles, in order to achieve a multi-faceted process and structural assessment of a system's architectural evolution. We present a simple structural model with associated historical metrics and visualizations that could form part of an architect's dashboard. We perform such an assessment for the Eclipse SDK, as a case study of a large, complex, and long-lived system for which sustained effective architectural evolution is paramount. The twofold aim of checking generic principles on a well-know system is, on the one hand, to see whether there are certain lessons that could be learned for best practice of architectural evolution, and on the other hand to get more insights about the applicability of such principles. We find that while the Eclipse SDK does follow several of the laws and principles, there are some deviations, and we discuss areas of architectural improvement and limitations of the assessment approach.