Automated Evolution Planning for Evolutionary Architecture

Nacha Chondamrongkul,Jing Sun
DOI: https://doi.org/10.2139/ssrn.4158205
2022-01-01
SSRN Electronic Journal
Abstract:Software systems often evolve over time due to frequent changes in user requirements. Many functional changes result in refactoring of the architectural design, which dramatically impacts the software system. Evolutionary architecture is a design principle that helps to support making frequent changes. The key aspect of evolutionary architecture is defining fitness functions to ensure that the changes meet the goals to be achieved. However, planning the evolution of architectural design as incremental steps remains a challenge. This paper presents an approach to automatically generating evolution plans to refactor the architectural design aimed at supporting new functionalities. Formal modelling has been applied to allow functional properties to be verified against the design. With the generated evolution plan, we can determine the safe path to evolve the software system with minimal risk of failures. We have evaluated the accuracy and effectiveness of the evolution plan generated by our approach for six real-world software systems. Our experimental results showed that the proposed approach is effective in generating evolution plans. Moreover, we are able to identify the most suitable planning strategy, which generates the evolution plan with minimal system interruptions.
What problem does this paper attempt to address?