Introducing Interactions in Multi-Objective Optimization of Software Architectures
Vittorio Cortellessa, J. Andres Diaz-Pace, Daniele Di Pompeo, Sebastian Frank, Pooyan Jamshidi, Michele Tucci, André van Hoorn
TL;DR
This work tackles the challenge of balancing performance, reliability, and refactoring cost in software-architecture optimization by introducing designer interactions into a multi-objective evolutionary process. The authors implement a centroid-based, preference-driven interactive loop that guides NSGA-II-propagated architectural alternatives toward regions of interest, evaluated on TTBS and CoCoME with a 14-person user study. Results show that interaction narrows the search to meaningful areas, uncovers architectures not found by fully automated search, and reduces computation time, while participants perceive the approach as useful for practical design exploration. The study highlights the potential of human-in-the-loop SBSE for architecture optimization and points to future work on richer interaction modalities and new quality indicators for architectural models.
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.
