On the use of genetic programming for automated refactoring and the introduction of design patterns

  • Authors:
  • Adam C. Jensen;Betty H.C. Cheng

  • Affiliations:
  • Michigan State University, East Lansing, MI, USA;Michigan State University, East Lansing, MI, USA

  • Venue:
  • Proceedings of the 12th annual conference on Genetic and evolutionary computation
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Maintaining an object-oriented design for a piece of software is a difficult, time-consuming task. Prior approaches to automated 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 strategies that they can generate. In order to address this problem, this paper introduces an approach that supports composition of design changes and makes the introduction of design patterns a primary goal of the refactoring process. The proposed approach uses genetic programming and software 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