An empirical study on the evolution of design patterns

  • Authors:
  • Lerina Aversano;Gerardo Canfora;Luigi Cerulo;Concettina Del Grosso;Massimiliano Di Penta

  • Affiliations:
  • University of Sannio, Benevento, Italy;University of Sannio, Benevento, Italy;University of Sannio, Benevento, Italy;University of Sannio, Benevento, Italy;University of Sannio, Benevento, Italy

  • Venue:
  • Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Design patterns are solutions to recurring design problems, conceived to increase benefits in terms of reuse, code quality and, above all, maintainability and resilience 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 resilient to changes.