Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
An Algorithm for Subgraph Isomorphism
Journal of the ACM (JACM)
Authoritative sources in a hyperlinked environment
Journal of the ACM (JACM)
Efficient Subgraph Isomorphism Detection: A Decomposition Approach
IEEE Transactions on Knowledge and Data Engineering
Automatic Design Pattern Detection
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Design reverse-engineering and automated design-pattern detection in Smalltalk
Design reverse-engineering and automated design-pattern detection in Smalltalk
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
New Frontiers of Reverse Engineering
FOSE '07 2007 Future of Software Engineering
Experiments on Design Pattern Discovery
PROMISE '07 Proceedings of the Third International Workshop on Predictor Models in Software Engineering
A comparison of logic-based infrastructures for concern detection and extraction
Proceedings of the 3rd workshop on Linking aspect technology and evolution
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
Pattern-based design evolution using graph transformation
Journal of Visual Languages and Computing
Discovery of SOA patterns via model checking
2nd international workshop on Service oriented software engineering: in conjunction with the 6th ESEC/FSE joint meeting
Design pattern detection by template matching
Proceedings of the 2008 ACM symposium on Applied computing
Evaluating pattern conformance of UML models: a divide-and-conquer approach and case studies
Software Quality Control
A Pattern Language Verifier for Web-Based Enterprise Applications
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
A Rule-based Method to Match Software Patterns Against UML Models
Electronic Notes in Theoretical Computer Science (ENTCS)
Tool Support for Pattern Selection and Use
Electronic Notes in Theoretical Computer Science (ENTCS)
Design pattern recovery through visual language parsing and source code analysis
Journal of Systems and Software
Design Patterns Identification Using Similarity Scoring Algorithm with Weighting Score Extension
Proceedings of the 2008 conference on Knowledge-Based Software Engineering: Proceedings of the Eighth Joint Conference on Knowledge-Based Software Engineering
Design pattern density defined
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
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
A matrix-based approach to recovering design patterns
IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans
Design pattern evolutions in QVT
Software Quality Control
An approach for architectural layer recovery
Proceedings of the 2010 ACM Symposium on Applied Computing
Web pages reordering and clustering based on web patterns
SOFSEM'08 Proceedings of the 34th conference on Current trends in theory and practice of computer science
A recommender for conflict resolution support in optimistic model versioning
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Exploring the inventor's paradox: applying jigsaw to software visualization
Proceedings of the 5th international symposium on Software visualization
A new approach for pattern problem detection
CAiSE'10 Proceedings of the 22nd international conference on Advanced information systems engineering
Detecting design pattern using subgraph discovery
ACIIDS'10 Proceedings of the Second international conference on Intelligent information and database systems: Part I
Design patterns detection using SOP expressions for graphs
ACM SIGSOFT Software Engineering Notes
Achievements and challenges in software reverse engineering
Communications of the ACM
A tool for design pattern detection and software architecture reconstruction
Information Sciences: an International Journal
A two-stage framework for UML specification matching
Information and Software Technology
Identification of behavioural and creational design motifs through dynamic analysis
Journal of Software Maintenance and Evolution: Research and Practice
Understanding the relevance of micro-structures for design patterns detection
Journal of Systems and Software
An empirical investigation on the reusability of design patterns and software packages
Journal of Systems and Software
Mining design patterns from existing projects using static and run-time analysis
CEE-SET'08 Proceedings of the Third IFIP TC 2 Central and East European conference on Software engineering techniques
Human and program factors affecting the maintenance of programs with deployed design patterns
Information and Software Technology
Design pattern mining using greedy algorithm for multi-labelled graphs
International Journal of Information and Communication Technology
Using ontology reasoning for reverse engineering design patterns
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
An empirical investigation on the impact of design pattern application on computer game defects
Proceedings of the 15th International Academic MindTrek Conference: Envisioning Future Media Environments
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
AODP: refactoring code to provide advanced aspect-oriented modularization of design patterns
Proceedings of the 27th Annual ACM Symposium on Applied Computing
CBCD: cloned buggy code detector
Proceedings of the 34th International Conference on Software Engineering
Understanding design patterns — what is the problem?
Software—Practice & Experience
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
Pattern Language Verification in Model Driven Design
Information Sciences: an International Journal
Required behavior of sequence diagrams: Semantics and conformance
ACM Transactions on Software Engineering and Methodology (TOSEM)
Model-based cache-aware dispatching of object-oriented software for multicore systems
Journal of Systems and Software
ADAM: External dependency-driven architecture discovery and analysis of quality attributes
ACM Transactions on Software Engineering and Methodology (TOSEM)
How changes affect software entropy: an empirical study
Empirical Software Engineering
A fuzzy matching approach for design pattern mining
Journal of Intelligent & Fuzzy Systems: Applications in Engineering and Technology - Hybrid approaches for approximate reasoning
Exploring systems engineering patterns in government acquisition of complex information systems
Information-Knowledge-Systems Management
Hi-index | 0.03 |
The identification of design patterns as part of the reengineering process can convey important information to the designer. However, existing pattern detection methodologies generally have problems in dealing with one or more of the following issues: Identification of modified pattern versions, search space explosion for large systems and extensibility to novel patterns. In this paper, a design pattern detection methodology is proposed that is based on similarity scoring between graph vertices. Due to the nature of the underlying graph algorithm, this approach has the ability to also recognize patterns that are modified from their standard representation. Moreover, the approach exploits the fact that patterns reside in one or more inheritance hierarchies, reducing the size of the graphs to which the algorithm is applied. Finally, the algorithm does not rely on any pattern-specific heuristic, facilitating the extension to novel design structures. Evaluation on three open-source projects demonstrated the accuracy and the efficiency of the proposed method.