Surrogate models speed up multi-objective software architecture optimization

A Surrogate-based Approach for Fast Multi-objective Architectural Refactoring Optimization

Software Engineering

Summary

Optimizing software architecture to improve things like speed and reliability often requires testing many design options, which can be very slow. The authors tried using shortcut models that approximate the testing process to save time. These shortcut models can reduce computation time by about 30% while still finding good design trade-offs. This approach helps handle more complex designs more efficiently.

What this means in practice

  • For software architects: Generate architectural design alternatives faster when balancing multiple non-functional requirements like speed and reliability in large complex systems.
  • For software testing teams: Reduce the time needed for architecture evaluation by using surrogate models as approximations instead of full analysis tools repeatedly.

Authors

J. Andrés Diaz-Pace, Daniele Di Pompeo, Antonela Tommasel

Abstract

Software model optimization is a process that generates architecture alternatives aimed at improving quantifiable non-functional properties of software systems, such as performance and reliability. Multi-objective evolutionary algorithms are commonly used to explore the search space and help designers identify trade-offs among competing non-functional properties (e.g., through a Pareto front). However, such algorithms face efficiency challenges in complex software models and large design spaces, since evaluating the fitness (i.e., the quality) of each architecture requires analysis tools that become computationally expensive when repeatedly invoked during the search process. In this paper, we explore the construction of surrogate models based on regression techniques to approximate the outputs of these analysis tools at significantly lower computational cost, while maintaining reasonable output accuracy. Our experimental results suggest that surrogate models provide savings of up to $30\%$ in computational time and maintain the Pareto front quality provided by evolutionary algorithms. Also, we observed some differences in the architectural models produced by our approach. Overall, surrogate models constitute a promising approach for scaling multi-objective architecture optimization to larger spaces and complex architectural models.