Best performance and reliability for your time: budget-aware search-based optimization of software model refactoring

08/29/2023
by   J. Andrés Díaz-Pace, et al.
0

Context: Software model optimization is a process that automatically generates design alternatives, typically to enhance quantifiable non-functional properties of software systems, such as performance and reliability. Multi-objective evolutionary algorithms have shown to be effective in this context for assisting the designer in identifying trade-offs between the desired non-functional properties. Objective: In this work, we investigate the effects of imposing a time budget to limit the search for design alternatives, which inevitably affects the quality of the resulting alternatives. Method: The effects of time budgets are analyzed by investigating both the quality of the generated design alternatives and their structural features when varying the budget and the genetic algorithm (NSGA-II, PESA2, SPEA2). This is achieved by employing multi-objective quality indicators and a tree-based representation of the search space. Results: The study reveals that the time budget significantly affects the quality of Pareto fronts, especially for performance and reliability. NSGA-II is the fastest algorithm, while PESA2 generates the highest-quality solutions. The imposition of a time budget results in structurally distinct models compared to those obtained without a budget, indicating that the search process is influenced by both the budget and algorithm selection. Conclusions: In software model optimization, imposing a time budget can be effective in saving optimization time, but designers should carefully consider the trade-off between time and solution quality in the Pareto front, along with the structural characteristics of the generated models. By making informed choices about the specific genetic algorithm, designers can achieve different trade-offs.

READ FULL TEXT
research
12/16/2022

Search Budget in Multi-Objective Refactoring Optimization: a Model-Based Empirical Study

Software model optimization is the task of automatically generate design...
research
01/18/2023

Multi-objective Software Architecture Refactoring driven by Quality Attributes

Architecture optimization is the process of automatically generating des...
research
01/23/2023

Many-Objective Optimization of Non-Functional Attributes based on Refactoring of Software Models

Software quality estimation is a challenging and time-consuming activity...
research
08/29/2023

Introducing Interactions in Multi-Objective Optimization of Software Architectures

Software architecture optimization aims to enhance non-functional attrib...
research
10/16/2017

MultiRefactor: Automated Refactoring To Improve Software Quality

In this paper, a new approach is proposed for automated software mainten...
research
08/26/2023

Performance of Genetic Algorithms in the Context of Software Model Refactoring

Software systems continuously evolve due to new functionalities, require...
research
12/21/2012

Interactive Ant Colony Optimisation (iACO) for Early Lifecycle Software Design

Software design is crucial to successful software development, yet is a ...

Please sign up or login with your details

Forgot password? Click here to reset