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).
翻译:软件系统因新功能、需求变更或维护活动而持续演化。在软件演化过程中,软件重构已获得战略重要性。由于不同重构操作组合可产生多种软件系统替代方案,可能的软件重构空间通常极为庞大。多目标优化算法通过同时追求多个目标展现出发现替代方案的能力,此类算法在软件模型重构场景中的性能具有至关重要的意义。因此,本文对三种遗传算法进行性能分析,从执行效率与解质量维度展开比较。研究结果表明,这些算法在性能上存在显著差异(例如,PESA2算法收敛速度最快,而NSGA-II算法内存占用最低)。