Surrogate models speed up software design optimization with less computing

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

Software Engineering

Summary

Optimizing software designs to be faster and more reliable can take a lot of time because computers have to check many solutions carefully. The authors show that by using simpler models called surrogate models, computers can estimate how good a design is much faster without losing much accuracy. This approach saves about 30% of the computing time and still finds good design choices balancing multiple goals. Their work suggests this method can help handle even bigger and more complex software design problems efficiently.

software architecturemulti-objective optimizationevolutionary algorithmsPareto frontsurrogate modelsregression techniquesnon-functional propertiesperformance analysiscomputational efficiencydesign space

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.