Design patterns provide a medium-grained abstraction and can be used as an effective tool for understanding object-oriented systems. This paper presents a simple tool for the extraction of design information from C++ code using design patterns. The design of the tool's model is based on logic-programming approach. This approach extracts design information by using relationships detection algorithm and identifies design patterns from information generated from source code and runtime system. The extraction of design information is separated from design pattern detection in order to facilitate flexibility. This way, the logic programs for identifying design patterns is language-independent while the detection algorithm of the relationships among classes is language-specific. The approach in this paper can effectively reduce false positives and negatives thereby improving the precision of pattern detection.

Additional Metadata
Keywords Design Pattern, Logic Programming, Object Oriented, Reverse Engineering, Source Code
Conference Proceedings of the International Conference on Software Engineering Research and Practise. SERP 2003
Citation
Ajila, S, & Xie, P. (Peng). (2003). DPET - A Simple C++ Design Pattern Extraction Tool. Presented at the Proceedings of the International Conference on Software Engineering Research and Practise. SERP 2003.