Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object-oriented design patterns recovery
Journal of Systems and Software
A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions
IEEE Transactions on Software Engineering
Impact Analysis - Towards a Framework for Comparison
ICSM '93 Proceedings of the Conference on Software Maintenance
Design Recovery by Automated Search for Structural Design Patterns in Object-Oriented Software
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
Automatic Design Pattern Detection
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
CVS Release History Data for Detecting Logical Couplings
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Design Patterns and Change Proneness: An Examination of Five Evolving Systems
METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Fingerprinting Design Patterns
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Defect Frequency and Design Patterns: An Empirical Study of Industrial Code
IEEE Transactions on Software Engineering
Parameterized object sensitivity for points-to analysis for Java
ACM Transactions on Software Engineering and Methodology (TOSEM)
Design Pattern Recovery by Visual Language Parsing
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
DynaMine: finding common error patterns by mining software revision histories
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Impact Analysis by Mining Software and Change Request Repositories
METRICS '05 Proceedings of the 11th IEEE International Software Metrics Symposium
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 2006 international workshop on Mining software repositories
How Crosscutting Concerns Evolve in JHotDraw
STEP '05 Proceedings of the 13th IEEE International Workshop on Software Technology and Engineering Practice
Automatic Identification of Bug-Introducing Changes
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Mining Aspects from Version History
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
On the Use of Line Co-change for Identifying Crosscutting Concern Code
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
Relation of code clones and change couplings
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Evaluating pattern conformance of UML models: a divide-and-conquer approach and case studies
Software Quality Control
Design pattern recovery through visual language parsing and source code analysis
Journal of Systems and Software
The life and death of statically detected vulnerabilities: An empirical study
Information and Software Technology
Impact of the visitor pattern on program comprehension and maintenance
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Empirical Software Engineering
Automatically identifying changes that impact code-to-design traceability during evolution
Software Quality Control
An empirical study on the influence of pattern roles on change-proneness
Empirical Software Engineering
Human and program factors affecting the maintenance of programs with deployed design patterns
Information and Software Technology
An exploratory study of the impact of antipatterns on class change- and fault-proneness
Empirical Software Engineering
Extensions during software evolution: do objects meet their promise?
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
International Journal of Information System Modeling and Design
Visualizing protected variations in evolving software designs
Journal of Systems and Software
How changes affect software entropy: an empirical study
Empirical Software Engineering
Hi-index | 0.00 |
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.