A framework for classifying and comparing architecture-centric software evolution research
MetadataShow full item record
Architecture-centric software evolution (ACSE) supports frequent business and technical change cycles in 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 comprises a wide spectrum of evolution-centric research in terms of processes, frameworks and empirical studies to tackle ACSE. However, there is no unified framework providing systematic insight into classification and comparison for state-of-the-art in ACSE research. We present a taxonomic scheme that provides a basis for an extensive classification and comparison of existing ACSE research approaches - leading to a reflection on areas of future research. Our search covers 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 a quantitative and qualitative extraction of the included studies to the scheme comprising 27 data points. Based on the available evidence, we have identified five main classification categories: (i) type of evolution, (ii) type of specification, (iii) type of architectural constraints, (iv) runtime issues, and (v) tool support. The selected studies are mapped to the taxonomic framework comprising qualitative and quantitative elements. 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.