Table of Contents
Fetching ...

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.

On the Role of Search Budgets in Model-Based Software Refactoring Optimization

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.
Paper Structure (18 sections, 3 equations, 18 figures, 15 tables)

This paper contains 18 sections, 3 equations, 18 figures, 15 tables.

Figures (18)

  • Figure 1: The Clon refactoring action example on node-A through a UML Software Model
  • Figure 2: The MO2N refactoring action example on operation-2 through a UML Software Model
  • Figure 3: The MO2C refactoring action example on operation-2 and component-C through a UML Software Model
  • Figure 4: The ReDe refactoring action example on component-C through a UML Software Model
  • Figure 5: A graphical representation of the approach. It takes as input: the set of all the available refactoring actions (Repository of refactoring actions), and an Software model (i.e., the subject model). The Optimization Engine randomly selects and combines refactoring actions in order to generate a set of Model Alternatives, which are Evaluated with respect to the objectives. Finally, the Optimization Engine produces a Pareto front of Software Models.
  • ...and 13 more figures