Identification of design motifs with pattern matching algorithms
Information and Software Technology
Improving design-pattern identification: a new approach and an exploratory study
Software Quality Control
Object oriented design pattern decay: a taxonomy
Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement
A tool for design pattern detection and software architecture reconstruction
Information Sciences: an International Journal
Identification of behavioural and creational design motifs through dynamic analysis
Journal of Software Maintenance and Evolution: Research and Practice
Design evolution metrics for defect prediction in object oriented systems
Empirical Software Engineering
An empirical study on the influence of pattern roles on change-proneness
Empirical Software Engineering
Understanding the relevance of micro-structures for design patterns detection
Journal of Systems and Software
Human and program factors affecting the maintenance of programs with deployed design patterns
Information and Software Technology
Flexible design pattern detection based on feature types
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Design improvement through dynamic and Structural pattern identification
ISIICT'09 Proceedings of the Third international conference on Innovation and Information and Communication Technology
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Enriching Documents with Examples: A Corpus Mining Approach
ACM Transactions on Information Systems (TOIS)
Leveraging design rules to improve software architecture recovery
Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures
Automatic recognition of design motifs using semantic conditions
Proceedings of the 28th Annual ACM Symposium on Applied Computing
ADAM: External dependency-driven architecture discovery and analysis of quality attributes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated verification of design patterns: A case study
Science of Computer Programming
Hi-index | 0.00 |
Design patterns are important in object-oriented programming because they offer design motifs, elegant solutions to recurrent design problems, which improve the quality of software systems. Design motifs facilitate system maintenance by helping to understand design and implementation. However, after implementation, design motifs are spread throughout the source code and are thus not directly available to maintainers. We present DeMIMA, an approach to identify semi-automatically micro-architectures that are similar to design motifs in source code and to ensure the traceability of these micro-architectures between implementation and design. DeMIMA consists of three layers: two layers to recover an abstract model of the source code, including binary class relationships, and a third layer to identify design patterns in the abstract model. We apply DeMIMA to five open-source systems and, on average, we observe 34% precision for the considered 12 design motifs. Through the use of explanation-based constraint programming, DeMIMA ensures 100% recall on the five systems. We also apply DeMIMA on 33 industrial components.