On the Use of Genetic Programming for Automated Refactoring and the Introduction of Design Patterns
Title | On the Use of Genetic Programming for Automated Refactoring and the Introduction of Design Patterns |
Publication Type | Conference Paper |
Year of Publication | 2010 |
Authors | Jensen, AC, Cheng, BHC |
Conference Name | Proceedings of the 12th annual conference on Genetic and Evolutionary Computation |
Date Published | 07/2010 |
Publisher | ACM |
Abstract | Maintaining an object-oriented design for a piece of software is a difficult, time-consuming task. Prior approaches to au- tomated design refactoring have focused on making small, iterative changes to a given software design. However, such approaches do not take advantage of composition of design changes, thus limiting the richness of the refactoring strate- gies that they can generate. In order to address this prob- lem, this paper introduces an approach that supports com- position of design changes and makes the introduction of design patterns a primary goal of the refactoring process. The proposed approach uses genetic programming and soft- ware engineering metrics to identify the most suitable set of refactorings to apply to a software design. We illustrate the efficacy of this approach by applying it to a large set of published models, as well as a real-world case study. |