Table of Contents
Fetching ...

Performance of Genetic Algorithms in the Context of Software Model Refactoring

Vittorio Cortellessa, Daniele Di Pompeo, Michele Tucci

TL;DR

This study evaluates three genetic algorithms (NSGA-II, SPEA2, PESA2) for software refactoring in a multi-objective setting, focusing on execution time, memory usage, and Pareto-front quality. Using two UML-based case studies (TTBS and CoCOME) and 30 runs per algorithm, the results show PESA2 as the fastest and most effective at covering the objective space, while NSGA-II is the most memory-efficient, and SPEA2 underperforms in both time and memory. The findings offer practical guidance for selecting MOEAs in model-driven refactoring and motivate further work on configuration tuning and generalization to additional domains. The authors also provide a replication package to support reproducibility and further investigation.

Abstract

Software systems continuously evolve due to new functionalities, requirements, or maintenance activities. In the context of software evolution, software refactoring has gained a strategic relevance. The space of possible software refactoring is usually very large, as it is given by the combinations of different refactoring actions that can produce software system alternatives. Multi-objective algorithms have shown the ability to discover alternatives by pursuing different objectives simultaneously. Performance of such algorithms in the context of software model refactoring is of paramount importance. Therefore, in this paper, we conduct a performance analysis of three genetic algorithms to compare them in terms of performance and quality of solutions. Our results show that there are significant differences in performance among the algorithms (e.g., PESA2 seems to be the fastest one, while NSGA-II shows the least memory usage).

Performance of Genetic Algorithms in the Context of Software Model Refactoring

TL;DR

This study evaluates three genetic algorithms (NSGA-II, SPEA2, PESA2) for software refactoring in a multi-objective setting, focusing on execution time, memory usage, and Pareto-front quality. Using two UML-based case studies (TTBS and CoCOME) and 30 runs per algorithm, the results show PESA2 as the fastest and most effective at covering the objective space, while NSGA-II is the most memory-efficient, and SPEA2 underperforms in both time and memory. The findings offer practical guidance for selecting MOEAs in model-driven refactoring and motivate further work on configuration tuning and generalization to additional domains. The authors also provide a replication package to support reproducibility and further investigation.

Abstract

Software systems continuously evolve due to new functionalities, requirements, or maintenance activities. In the context of software evolution, software refactoring has gained a strategic relevance. The space of possible software refactoring is usually very large, as it is given by the combinations of different refactoring actions that can produce software system alternatives. Multi-objective algorithms have shown the ability to discover alternatives by pursuing different objectives simultaneously. Performance of such algorithms in the context of software model refactoring is of paramount importance. Therefore, in this paper, we conduct a performance analysis of three genetic algorithms to compare them in terms of performance and quality of solutions. Our results show that there are significant differences in performance among the algorithms (e.g., PESA2 seems to be the fastest one, while NSGA-II shows the least memory usage).
Paper Structure (16 sections, 3 figures, 1 table)