Classification and comparison of architecture evolution-reuse knowledge – A systematic review
Ahmad, Aakash, Jamshidi, Pooyan and Pahl, ClausORCID: 0000-0002-9049-212X
(2014)
Classification and comparison of architecture evolution-reuse knowledge – A systematic review.
Journal of Software: Evolution and Process, 26
(7).
pp. 654-691.
ISSN 2047-7481
Context: Architecture-centric software evolution (ACSE) enables changes in system’s structure and behaviour while maintaining a global view of the software to address evolution-centric trade-offs. The existing research and practices for ACSE primarily focus on design-time evolution and runtime adaptations to accommodate changing requirements in existing architectures.
Objectives: We aim to identify, taxonomically classify and systematically compare the existing research focused on enabling or enhancing change reuse to support ACSE.
Method: We conducted a systematic literature review (SLR) of 32 qualitatively selected studies, and taxonomically classified these studies based on solutions that enable i) empirical acquisition and ii) systematic application of architecture evolution-reuse knowledge to guide ACSE.
Results: We identified six distinct research themes that support acquisition and application of architecture evolution-reuse knowledge. We investigated: a) how evolution-reuse knowledge is defined, classified and represented in the existing research to support ACSE, b) what are the existing methods, techniques, and solutions to support: b) empirical acquisition and c) systematic application of architecture evolution-reuse knowledge.
Conclusions: Change patterns (34% of selected studies) represent a predominant solution, followed by evolution styles (25%) and adaptation strategies and policies (22%) to enable application of reuse knowledge. Empirical methods for acquisition of reuse knowledge represent 19% including pattern discovery, configuration analysis, evolution and maintenance prediction techniques (approximately 6% each). A lack of focus on empirical acquisition of reuse knowledge suggests the need of solutions with architecture change mining as a complementary and integrated phase for architecture change execution.
Metadata
Item Type:
Article (Published)
Refereed:
Yes
Uncontrolled Keywords:
Software Architecture; Architecture-Centric Software Evolution; Architecture Evolution-Reuse Knowledge; Systematic Literature Review; Evidence-Based Study in Software Evolution; Research Synthesis