English

Introducing Interactions in Multi-Objective Optimization of Software Architectures

Software Engineering 2025-01-16 v2

Abstract

Software architecture optimization aims to enhance non-functional attributes like performance and reliability while meeting functional requirements. Multi-objective optimization employs metaheuristic search techniques, such as genetic algorithms, to explore feasible architectural changes and propose alternatives to designers. However, this resource-intensive process may not always align with practical constraints. This study investigates the impact of designer interactions on multi-objective software architecture optimization. Designers can intervene at intermediate points in the fully automated optimization process, making choices that guide exploration towards more desirable solutions. Through several controlled experiments as well as an initial user study (14 subjects), we compare this interactive approach with a fully automated optimization process, which serves as a baseline. The findings demonstrate that designer interactions lead to a more focused solution space, resulting in improved architectural quality. By directing the search towards regions of interest, the interaction uncovers architectures that remain unexplored in the fully automated process. In the user study, participants found that our interactive approach provides a better trade-off between sufficient exploration of the solution space and the required computation time.

Keywords

Cite

@article{arxiv.2308.15084,
  title  = {Introducing Interactions in Multi-Objective Optimization of Software Architectures},
  author = {Vittorio Cortellessa and J. Andres Diaz-Pace and Daniele Di Pompeo and Sebastian Frank and Pooyan Jamshidi and Michele Tucci and André van Hoorn},
  journal= {arXiv preprint arXiv:2308.15084},
  year   = {2025}
}
R2 v1 2026-06-28T12:07:01.061Z