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
IEEE Internet Computing
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Declarative Reasoning about the Structure of Object-Oriented Systems
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Mining Design Patterns from C++ Source Code
ICSM '03 Proceedings of the International Conference on Software Maintenance
A Formal Description of Design Patterns Using OWL
ASWEC '05 Proceedings of the 2005 Australian conference on Software Engineering
Reverse Engineering of Design Patterns from Java Source Code
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
Pellet: A practical OWL-DL reasoner
Web Semantics: Science, Services and Agents on the World Wide Web
Structured objects in owl: representation and reasoning
Proceedings of the 17th international conference on World Wide Web
Ontology-Based Design Pattern Recognition
KES '08 Proceedings of the 12th international conference on Knowledge-Based Intelligent Information and Engineering Systems, Part I
Behavioral Pattern Identification through Visual Language Parsing and Code Instrumentation
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Hi-index | 0.00 |
Capturing design knowledge in large software systems reduces the complexity of understanding and reusing these systems. Model Driven Engineering (MDE) is seen by many as the new trend to cope with software complexity. MDE promotes the notion of modeling and model transformations in model-driven development. In this paper, we propose an approach that utilizes ontological modeling and reasoning for recovering design pattern information from source code. We thus provide a formal representation of the conceptual knowledge found in source code and match it to similar representation of design patterns. This proper matching is the basis for applying semantic reasoning to infer design pattern instances. We have tested our approach on multiple open source application frameworks. The results we obtained are promising and show an improvement in terms of recall and precision.