Automated software evolution towards design patterns

Mel Ó Cinnéide, Paddy Nixon
2002 Proceedings of the 4th international workshop on Principles of software evolution - IWPSE '01  
During the evolution of a software system, it may be necessary to refactor the software in order to make it more flexible and amenable to new requirements that are being introduced. A typical aim of such a refactoring is to apply a suitable design pattern to the program in order to enhance its flexibility. Performing such a transformation by hand is an error-prone process, so automated support would be useful. We have developed a methodology for the creation of automated transformations that
more » ... apply a design pattern to an existing program. In this paper we present a brief description of this methodology, and report on the results of using this methodology to develop program transformations that can apply the Gamma et al design patterns. It is found that in almost 75% of cases a satisfactory transformation is developed, and that much of the commonality between design patterns can be captured in reusable minitransformations. Keywords Design patterns, refactoring, automated program transformations, design quality.
doi:10.1145/602461.602499 dblp:conf/iwpse/CinneideN01 fatcat:7y3qlpi5afb7timx6wy3xfidt4