Table of Contents
Fetching ...

Multi-objective Software Architecture Refactoring driven by Quality Attributes

Daniele Di Pompeo, Michele Tucci

TL;DR

This paper addresses automated optimization of software architecture refactoring under multiple quality attributes by proposing a many-objective evolutionary framework. It operates on UML models augmented with MARTE/DAM and uses a model-to-model transformation to generate Layered Queueing Network ($LQN$) performance models, optimizing four objectives: $PerfVariation$, reliability, number of performance antipatterns, and architectural distance. The approach evaluates alternatives using three genetic algorithms ($NSGA-II$, $SPEA2$, $PESA2$) and analyzes the impact of performance antipatterns on solution quality, supported by two case studies. Key findings show that including antipattern detection can enhance Pareto fronts while preserving or improving reliability, with attention to practical constraints like architectural distance and time budgets. The work contributes to reproducible, attackable workflows for architecture refactoring and highlights directions for richer cost models, extended refactoring actions, and additional optimization techniques.

Abstract

Architecture optimization is the process of automatically generating design options, typically to enhance software's quantifiable quality attributes, such as performance and reliability. Multi-objective optimization approaches have been used in this situation to assist the designer in selecting appropriate trade-offs between a number of non-functional features. Through automated refactoring, design alternatives can be produced in this process, and assessed using non-functional models. This type of optimization tasks are hard and time- and resource-intensive, which frequently hampers their use in software engineering procedures. In this paper, we present our optimization framework where we examined the performance of various genetic algorithms. We also exercised our framework with two case studies with various levels of size, complexity, and domain served as our test subjects.

Multi-objective Software Architecture Refactoring driven by Quality Attributes

TL;DR

This paper addresses automated optimization of software architecture refactoring under multiple quality attributes by proposing a many-objective evolutionary framework. It operates on UML models augmented with MARTE/DAM and uses a model-to-model transformation to generate Layered Queueing Network () performance models, optimizing four objectives: , reliability, number of performance antipatterns, and architectural distance. The approach evaluates alternatives using three genetic algorithms (, , ) and analyzes the impact of performance antipatterns on solution quality, supported by two case studies. Key findings show that including antipattern detection can enhance Pareto fronts while preserving or improving reliability, with attention to practical constraints like architectural distance and time budgets. The work contributes to reproducible, attackable workflows for architecture refactoring and highlights directions for richer cost models, extended refactoring actions, and additional optimization techniques.

Abstract

Architecture optimization is the process of automatically generating design options, typically to enhance software's quantifiable quality attributes, such as performance and reliability. Multi-objective optimization approaches have been used in this situation to assist the designer in selecting appropriate trade-offs between a number of non-functional features. Through automated refactoring, design alternatives can be produced in this process, and assessed using non-functional models. This type of optimization tasks are hard and time- and resource-intensive, which frequently hampers their use in software engineering procedures. In this paper, we present our optimization framework where we examined the performance of various genetic algorithms. We also exercised our framework with two case studies with various levels of size, complexity, and domain served as our test subjects.
Paper Structure (4 sections, 1 figure)

This paper contains 4 sections, 1 figure.

Figures (1)

  • Figure 1: Our multi-objective evolutionary approach