On the Use of Genetic Programming for Automated Refactoring and the Introduction of Design Patterns

TitleOn the Use of Genetic Programming for Automated Refactoring and the Introduction of Design Patterns
Publication TypeConference Paper
Year of Publication2010
AuthorsJensen, AC, Cheng, BHC
Conference NameProceedings of the 12th annual conference on Genetic and Evolutionary Computation
Date Published07/2010
PublisherACM
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.