An empirical study on the evolution of design patterns
Abstract
Design patterns are solutions to recurring design problems, conceived to increase benefits in terms of reuse, code quality and, above all, maintainability and resilence to changes. This paper presents results from an empirical study aimed at understanding the evolution of design patterns in three open source systems, namely JHotDraw, ArgoUML, and Eclipse-JDT. Specifically, the study analyzes how frequently patterns are modified, to what changes they undergo and what classes co-change with the patterns. Results show how patterns more suited to support the application purpose tend to change more frequently, and that different kind of changes have a different impact on co-changed classes and a different capability of making the system resilent to changes.
BibTeX
@inproceedings{Aversano-al:FSE07,
author = {Lerina Aversano and
Gerardo Canfora and
Luigi Cerulo and
Concettina Del Grosso and
Massimiliano Di Penta},
title = {An empirical study on the evolution of design patterns},
booktitle = {{ESEC/SIGSOFT} {FSE}},
pages = {385--394},
publisher = {{ACM}},
year = {2007},
}