Editorial: The Role of Prognostication in Software Design
Software Quality Control
Defect Frequency and Design Patterns: An Empirical Study of Industrial Code
IEEE Transactions on Software Engineering
Toward effective deployment of design patterns for software extension: a case study
Proceedings of the 2006 international workshop on Software quality
Work experience versus refactoring to design patterns: a controlled experiment
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Quality of manual data collection in Java software: an empirical investigation
Empirical Software Engineering
An empirical study on the evolution of design patterns
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
A framework for the simulation of structural software evolution
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Assessing conformance of pattern-based design in UML
Proceedings of the 46th Annual Southeast Regional Conference on XX
Do rules and patterns affect design maintainability?
Journal of Computer Science and Technology
Identification of design motifs with pattern matching algorithms
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
Improving design-pattern identification: a new approach and an exploratory study
Software Quality Control
DEQUALITE: building design-based software quality models
Proceedings of the 15th Conference on Pattern Languages of Programs
An assessment of design patterns' influence on a Java-based e-commerce application
Journal of Theoretical and Applied Electronic Commerce Research
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
Evolution of legacy system comprehensibility through automated refactoring
Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering
A methodology to assess the impact of design patterns on software quality
Information and Software Technology
An exploratory study of the impact of antipatterns on class change- and fault-proneness
Empirical Software Engineering
The ability of object-oriented metrics to predict change-proneness: a meta-analysis
Empirical Software Engineering
Flexible design pattern detection based on feature types
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
International Journal of Information System Modeling and Design
A multiple case study of design pattern decay, grime, and rot in evolving software systems
Software Quality Control
Hi-index | 0.00 |
Design patterns are recognized, named solutions to common design problems. The use of the most commonly referenced design patterns should promote adaptable and reusable program code. When a system evolves, changes to code involving a design pattern should, in theory, consist of creating new concrete classes that are extensions or subclasses of previously existing classes. Changes should not, in theory, involve direct modifications to the classes in prior versions that play roles in a design patterns. We studied five systems, three proprietary systems and two open source systems, to identify the observable effects of the use of designpatterns in early versions on changes that occur as the systems evolve. In four of the five systems, pattern classes are more rather than less change prone. Pattern classes in one of the systems were less change prone. These results held up after normalizing for the effect of class size 驴 larger classes are more change prone in two of the five systems. These results provide insight into how design patterns are actually used, and should help us to learn to develop software designs that are more easily adapted.