Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Mining Design Patterns from C++ Source Code
ICSM '03 Proceedings of the International Conference on Software Maintenance
Design Pattern Recovery by Visual Language Parsing
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Efficient Identification of Design Patterns with Bit-vector Algorithm
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Supporting Design Patterns with Annotations
ECBS '06 Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems
What Architects Should Know About Reverse Engineering and Rengineering
WICSA '05 Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture
Reverse Engineering of Design Patterns from Java Source Code
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
A Two Phase Approach to Design Pattern Recovery
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
Status report on JSR-305: annotations for software defect detection
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Ontology-Based Design Pattern Recognition
KES '08 Proceedings of the 12th international conference on Knowledge-Based Intelligent Information and Engineering Systems, Part I
On the Composition of Design Patterns
QSIC '08 Proceedings of the 2008 The Eighth International Conference on Quality Software
Detection of Diverse Design Pattern Variants
APSEC '08 Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference
Design pattern support based on the source code annotations and feature models
SOFSEM'12 Proceedings of the 38th international conference on Current Trends in Theory and Practice of Computer Science
Hi-index | 0.00 |
Design patterns have been widely used for developing flexible, extensible and perceptible applications to produce effective, reliable, verifiable and easily maintained software systems. The main advantage of using patterns is to take the edge of using best practices and experiences of others in solving the challenging tasks. Patterns have been extensively tested in different applications and reusing them yields the quality software. In this paper, we present a design pattern recovery approach based on annotations, regular expressions and database queries. We define the varying features of patterns and apply rules to match these features with the source code elements. Our novel approach reduces the search space and time for detecting patterns by using appropriate semantics of annotations from large legacy systems. We have tested our approach as proof of concept on motivating examples, and the obtained results are very encouraging.