Title :
Mining design patterns from C++ source code
Author :
Balanyi, Zsolt ; Ferenc, Rudolf
Author_Institution :
Res. Group on Artificial Intelligence, Szeged Univ., Hungary
Abstract :
Design patterns are micro architectures that have proved to be reliable, easy-to implement and robust. There is a need in science and industry for recognizing these patterns. We present a new method for discovering design patterns in the source code. This method provides a precise specification of how the patterns work by describing basic structural information like inheritance, composition, aggregation and association, and as an indispensable part, by defining call delegation, object creation and operation overriding. We introduce a new XML-based language, the Design Pattern Markup Language (DPML), which provides an easy way for the users to modify pattern descriptions to suit their needs, or even to define their own patterns or just classes in certain relations they wish to find. We tested our method on four open-source systems, and found it effective in discovering design pattern instances.
Keywords :
C++ language; XML; reverse engineering; software architecture; specification languages; ASG; C++ language; Columbus Schema; DPML; Design Pattern Markup Language; UML; Unified Modeling Language; XML-based language; abstract semantic graph; call delegation; design pattern mining; formal specification; micro architectures; object creation; open-source systems; operation overriding; source code; structural information; Artificial intelligence; Design methodology; Markup languages; Open source software; Pattern recognition; Robustness; Software measurement; Software systems; System testing; Unified modeling language;
Conference_Titel :
Software Maintenance, 2003. ICSM 2003. Proceedings. International Conference on
Print_ISBN :
0-7695-1905-9
DOI :
10.1109/ICSM.2003.1235436