A GENETIC ALGORITHM APPROACH TO DESIGN EVOLUTION USING DESIGN PATTERN TRANSFORMATION
Mehdi Amoui, Siavash Mirarab, Sepand Ansari, Caro Lucas · 2010
Improving software quality is a major concern in software development process. Despite all previous attempts to evolve software for quality improvement, these methods are neither scalable nor fully automatable. In this research we approach software evolution problem by reformulating it as a search problem. For this purpose, we applied software transformations in a form of GOF patterns to UML design model and evaluated the quality of the transformed design according to Object-Oriented metrics, particularly ’Distance from the Main Sequence’. This search based formulation of the problem enables us to use Genetic Algorithm for optimizing the metrics and find the best sequence of transformations. The implementation results show that Genetic Algorithm is able to find the optimal solution efficiently, especially when different genetic operators, adapted to characteristics of transformations, are used. Overall, we conclude that software transformations can successfully be approached automatically using evolutionary algorithms.