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

12/16/2022
by   Daniele Di Pompeo, et al.
0

Software model optimization is the task of automatically generate design alternatives, usually to improve quality aspects of software that are quantifiable, like performance and reliability. In this context, multi-objective optimization techniques have been applied to help the designer find suitable trade-offs among several non-functional properties. In this process, design alternatives can be generated through automated model refactoring, and evaluated on non-functional models. Due to their complexity, this type of optimization tasks require considerable time and resources, often limiting their application in software engineering processes. In this paper, we investigate the effects of using a search budget, specifically a time limit, to the search for new solutions. We performed experiments to quantify the impact that a change in the search budget may have on the quality of solutions. Furthermore, we analyzed how different genetic algorithms (i.e., NSGA-II, SPEA2, and PESA2) perform when imposing different budgets. We experimented on two case studies of different size, complexity, and domain. We observed that imposing a search budget considerably deteriorates the quality of the generated solutions, but the specific algorithm we choose seems to play a crucial role. From our experiments, NSGA-II is the fastest algorithm, while PESA2 generates solutions with the highest quality. Differently, SPEA2 is the slowest algorithm, and produces the solutions with the lowest quality.

READ FULL TEXT
research
08/29/2023

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

Context: Software model optimization is a process that automatically gen...
research
01/18/2023

Multi-objective Software Architecture Refactoring driven by Quality Attributes

Architecture optimization is the process of automatically generating des...
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/29/2023

Introducing Interactions in Multi-Objective Optimization of Software Architectures

Software architecture optimization aims to enhance non-functional attrib...
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 ...
research
01/16/2019

Asymmetric Release Planning-Compromising Satisfaction against Dissatisfaction

Maximizing satisfaction from offering features as part of the upcoming r...

Please sign up or login with your details

Forgot password? Click here to reset