Design patterns provide a medium-grained ion 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 logicprogramming 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.