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

01/23/2023
by   Vittorio Cortellessa, et al.
0

Software quality estimation is a challenging and time-consuming activity, and models are crucial to face the complexity of such activity on modern software applications. In this context, software refactoring is a crucial activity within development life-cycles where requirements and functionalities rapidly evolve. One main challenge is that the improvement of distinctive quality attributes may require contrasting refactoring actions on software, as for trade-off between performance and reliability (or other non-functional attributes). In such cases, multi-objective optimization can provide the designer with a wider view on these trade-offs and, consequently, can lead to identify suitable refactoring actions that take into account independent or even competing objectives. In this paper, we present an approach that exploits NSGA-II as the genetic algorithm to search optimal Pareto frontiers for software refactoring while considering many objectives. We consider performance and reliability variations of a model alternative with respect to an initial model, the amount of performance antipatterns detected on the model alternative, and the architectural distance, which quantifies the effort to obtain a model alternative from the initial one. We applied our approach on two case studies: a Train Ticket Booking Service, and CoCoME. We observed that our approach is able to improve performance (by up to 42%) while preserving or even improving the reliability (by up to 32%) of generated model alternatives. We also observed that there exists an order of preference of refactoring actions among model alternatives. We can state that performance antipatterns confirmed their ability to improve performance of a subject model in the context of many-objective optimization. In addition, the metric that we adopted for the architectural distance seems to be suitable for estimating the refactoring effort.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/13/2021

On the impact of Performance Antipatterns in multi-objective software model refactoring optimization

Software quality estimation is a challenging and time-consuming activity...
research
01/18/2023

Quality Attributes Optimization of Software Architecture: Research Challenges and Directions

The estimation and improvement of quality attributes in software archite...
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
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
08/29/2023

Introducing Interactions in Multi-Objective Optimization of Software Architectures

Software architecture optimization aims to enhance non-functional attrib...
research
07/15/2020

Bi-objective facility location in the presence of uncertainty

Multiple and usually conflicting objectives subject to data uncertainty ...
research
01/09/2023

Do Performance Aspirations Matter for Guiding Software Configuration Tuning?

Configurable software systems can be tuned for better performance. Lever...

Please sign up or login with your details

Forgot password? Click here to reset