Documenting frameworks using patterns
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Automated program recognition by graph parsing
Automated program recognition by graph parsing
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A Parsing Methodology for the Implementation of Visual Systems
IEEE Transactions on Software Engineering
Pattern-based reverse-engineering of design components
Proceedings of the 21st international conference on Software engineering
Inference of object-oriented design patterns
Journal of Software Maintenance: Research and Practice
Introduction to Modern Information Retrieval
Introduction to Modern Information Retrieval
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
A Method to Recover Design Patterns Using Software Product Metrics
ICSR-6 Proceedings of the 6th International Conerence on Software Reuse: Advances in Software Reusability
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)
Clone Detection Using Abstract Syntax Trees
ICSM '98 Proceedings of the International Conference on Software Maintenance
CrocoPat: Efficient Pattern Analysis in Object-Oriented Programs
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Automatic Design Pattern Detection
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Pattern Visualization for Software Comprehension
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Columbus - Reverse Engineering Tool and Schema for C++
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Mining Design Patterns from C++ Source Code
ICSM '03 Proceedings of the International Conference on Software Maintenance
QuickUML: a beginner's UML tool
OOPSLA '02 Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A framework for modeling and implementing visual notations with applications to software engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Efficient Relational Calculation for Software Analysis
IEEE Transactions on Software Engineering
Design Pattern Recovery by Visual Language Parsing
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Design Pattern Mining Enhanced by Machine Learning
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Case Studies of Visual Language Based Design Patterns Recovery
CSMR '06 Proceedings of the 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
Reverse Engineering of Design Patterns from Java Source Code
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Evaluating C++ Design Pattern Miner Tools
SCAM '06 Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
A Two Phase Approach to Design Pattern Recovery
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
DP-Miner: Design Pattern Discovery Using Matrix
ECBS '07 Proceedings of the 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems
Experiments on Design Pattern Discovery
PROMISE '07 Proceedings of the Third International Workshop on Predictor Models in 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
Behavioral Pattern Identification through Visual Language Parsing and Code Instrumentation
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Code analyzer for an online course management system
Journal of Systems and Software
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
Hi-index | 0.01 |
In this paper we propose an approach for recovering structural design patterns from object-oriented source code. The recovery process is organized in two phases. In the first phase, the design pattern instances are identified at a coarse-grained level by considering the design structure only and exploiting a parsing technique used for visual language recognition. Then, the identified candidate patterns are validated by a fine-grained source code analysis phase. The recognition process is supported by a tool, namely design pattern recovery environment, which allowed us to assess the retrieval effectiveness of the proposed approach on six public-domain programs and libraries.