A Framework for Classifying and Comparing Architecture-Centric Software Evolution Research

CSMR'13, (in press). [PDF]

·        Overview

·        Research Questions

·        Research Method

·        Data

·        Researchers

·        External Evaluations

Overview

Context: Architecture-centric software evolution (ACSE) aims at accommodating frequent business and technical change cycles in existing software at higher abstraction levels. This requires evolution in system structure and behavior that could be modeled, analyzed and evolved in a formal way. Existing research and practices comprise wide spectrum of evolution-centric research in terms of processes, frameworks and empirical studies to tackle ACSE. However, there is no unified framework providing a systematic insight into classification and comparison for state-of-the-art in ACSE research.

Objective: Based on a systematic investigation we present a taxonomical scheme that provides basis for an extensive classification and comparison of existing ACSE research approaches that lead us to a reflection on areas of future research.

Method: We performed a systematic search covering 8 major research databases, resulting in 4138 papers searched and 60 peer-reviewed papers considered for data collection. We then performed a systematic mapping based on quantitative and qualitative extraction of the included studies to the scheme comprising 27 data points.

Results: Based on the synthesis of available evidence, we have identified five main classification categories as: (i) type of evolution, (ii) type of architecture specification, (iii) type of architectural constraint, (iv) runtime issues, and (v) infrastructure aspects. The selected studies are mapped to the taxonomical framework comprising qualitative and quantitative elements.

Implications: The classification scheme provides a critical view of different aspects to be considered when addressing specific ACSE problems. Besides, the comparison of existing ACSE research reflects on the needs for future research dimensions.

Research Questions

RQ1: What types of evolution are supported in the ACSE?

RQ2: What degrees of formalism and expressiveness are required to specify software architecture to enable ACSE?

RQ3: What types of architectural constraints are specified in architectural models in the ACSE?

RQ4: What types of execution environments and mechanisms are needed to enable run-time aspects of ACSE?

RQ5: What tools supports are available for ACSE?

Research Method

Our study followed the principles of a quasi-systematic review complemented by a seminal guideline and also documented learnt lessons in [pdf]. However, we extend it in a way that it can accommodate the classification scheme comprising quantitative and qualitative data points. We then needed to map selected studies into the framework comprising the data points. In this way, we take into account the recommended steps on thematic analysis in software engineering [pdf]. The following figure gives an overview of the three-phased methodology we applied in the study.

Methodology 

                                                                                 Overview of the review process

Data

Auxiliary Materials (all in one zip):

Researchers

The systematic search, extraction and mapping were conducted by the following researchers:

Pooyan Jamshidi - Mohammad Ghafari - Aakash Ahmad - Claus Pahl

Lero - The Irish Software Engineering Research Centre

School of Computing, Dublin City University, Ireland

External Evaluations

The study was externally evaluated by the following active researchers and domain experts:

Jim Buckely

Please submit your comments and evaluations of the study to: Pooyan Jamshidi

Cite:

P. Jamshidi, M. Ghafari, A. Ahmad, C. Pahl, "A framework for classifying and comparing architecture-centric software engineering research", in 17th Europian Conference on Software Maintenance and Reengineering (CSMR), 2013.