Abstract
Abstract Context: Software architecture refactoring can be induced by multiple reasons, such as satisfying new functional requirements or improving non-functional properties. Multi-objective optimization approaches have been widely used in the last few years to introduce automation in the refactoring process, and they have revealed their potential especially when quantifiable attributes are targeted. However, the effectiveness of such approaches can be heavily affected by configuration characteristics of the optimization algorithm, such as the composition of solutions. Objective: In this paper, we analyze the behavior of E A S I E R , which is an Evolutionary Approach for Software archItecturE Refactoring, while varying its configuration characteristics, with the objective of studying its potential to find near-optimal solutions under different configurations. Method: In particular, we use two different solution space inspection algorithms (i.e., N S G A − I I and S P E A 2 ) while varying the genome length and the solution composition. Results: We have conducted our experiments on a specific case study modeled in AEmilia ADL, on which we have shown the ability of E A S I E R to identify performance-critical elements in the software architecture where refactoring is worth to be applied. Beside this, from the comparison of multi-objective algorithms, N S G A − I I has revealed to outperform S P E A 2 in most of cases, although the latter one is able to induce more diversity in the proposed solutions. Conclusion: Our results show that the E A S I E R thoroughly automated process for software architecture refactoring allows to identify configuration contexts of the evolutionary algorithm in which multi-objective optimization more effectively finds near-optimal Pareto solutions.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have