On the Role of Search Budgets in Model-Based Software Refactoring Optimization
J. Andres Diaz-Pace, Daniele Di Pompeo, Michele Tucci
TL;DR
This paper addresses the high computational cost of multi-objective optimization for software refactoring by introducing time-budgeted search in a SBSE framework. It employs three genetic algorithms—NSGA-II, SPEA2, and PESA2—and six quality indicators to evaluate Pareto fronts and the structure of refactoring sequences across two benchmarks (TTBS and CoCoME). The study provides the first systematic analysis of budget effects on Pareto fronts and design-space structure, offering actionable guidance on algorithm selection, budget calibration, and interpretation of search behavior under time constraints. Key findings show that PESA2 often yields higher-quality fronts within budgets, NSGA-II is the fastest, and budgets induce greater action diversity and structurally different models, enabling interactive, budget-aware design exploration in practice.
Abstract
Software model optimization is a process that automatically generates design alternatives aimed at improving quantifiable non-functional properties of software systems, such as performance and reliability. Multi-objective evolutionary algorithms effectively help designers identify trade-offs among the desired non-functional properties. To reduce the use of computational resources, this work examines the impact of implementing a search budget to limit the search for design alternatives. In particular, we analyze how time budgets affect the quality of Pareto fronts by utilizing quality indicators and exploring the structural features of the generated design alternatives. This study identifies distinct behavioral differences among evolutionary algorithms when a search budget is implemented. It further reveals that design alternatives generated under a budget are structurally different from those produced without one. Additionally, we offer recommendations for designers on selecting algorithms in relation to time constraints, thereby facilitating the effective application of automated refactoring to improve non-functional properties.
