You are required to read and agree to the below before accessing a full-text version of an article in the IDE article repository.

The full-text document you are about to access is subject to national and international copyright laws. In most cases (but not necessarily all) the consequence is that personal use is allowed given that the copyright owner is duly acknowledged and respected. All other use (typically) require an explicit permission (often in writing) by the copyright owner.

For the reports in this repository we specifically note that

  • the use of articles under IEEE copyright is governed by the IEEE copyright policy (available at
  • the use of articles under ACM copyright is governed by the ACM copyright policy (available at
  • technical reports and other articles issued by M‰lardalen University is free for personal use. For other use, the explicit consent of the authors is required
  • in other cases, please contact the copyright owner for detailed information

By accepting I agree to acknowledge and respect the rights of the copyright owner of the document I am about to access.

If you are in doubt, feel free to contact

Software Architecture Evolution through Evolvability Analysis


Publication Type:

Doctoral Thesis


Mälardalen University


In this thesis, we study evolution of software architecture and investigate ways to support this evolution. The central theme of the thesis is how to analyze software evolvability, i.e., a system’s ability to easily accommodate changes. We focus on two main aspects: (i) what software characteristics are necessary for an evolvable software system; and (ii) how to assess evolvability of long-lived proprietary systems in a systematic manner. A secondary focus is to investigate how evolvability is addressed in open source software evolution. We have performed a systematic review of architecture evolution research, and proposed a software evolvability model, in which subcharacteristics of software evolvability and corresponding measuring attributes are identified. Based on this model, we have proposed the software architecture evolvability analysis (AREA) process which provides repeatable techniques for supporting software architecture evolution: a) Qualitative evolvability analysis method that focuses on improving the capability of being able to understand and analyze systematically the impact of change stimuli on software architecture evolution; b) Quantitative evolvability analysis method that provides quantifications of stakeholders’ evolvability concerns and potential architectural solutions’ impacts on evolvability. These techniques have been validated in industrial settings of different domains, and can be used as an integral part of software development and evolution process. This is to ensure that the implications of the potential improvement strategies and evolution path of software architectures are analyzed with respect to the evolvability subcharacteristics. As a supplementary research contribution, we have conducted a systematic review of the existing studies in open source software (OSS) evolution, and performed a comprehensive analysis which describes how software evolvability is addressed during the development and evolution of OSS, and identified challenges and future research directions in OSS evolution.


author = {Hongyu Pei-Breivold},
title = {Software Architecture Evolution through Evolvability Analysis},
number = {108},
month = {November},
year = {2011},
school = {M{\"a}lardalen University},
url = {}