Abstract

Software systems often evolve over time due to frequent changes in user requirements. The refactoring of the architectural design due to numerous functional changes significantly impacts the software system. Evolutionary architecture is a design principle that supports the implementation of frequent changes. One key aspect of an evolutionary architecture is the definition of fitness functions to ensure that the changes align with the intended goals. However, planning the incremental evolution of the architectural design remains a challenge. This paper presents an approach to automatically generate evolution plans for refactoring the architectural design in support of new functionalities. Formal modelling has been applied to allow for the verification of functional properties against the design. By utilising the generated evolution plan, we can determine a safe path for evolving the software system with minimal risk of failure. We evaluated the rigor and effectiveness of the evolution plan generated by our approach for six software systems. Our experimental results demonstrate the effectiveness of the proposed approach in generating evolution plans. Additionally, we were able to identify the most suitable planning strategy that minimises system interruptions in the generated evolution plan.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call