Recognizing Design Patterns in C++ programs with the integration of Columbus and Maisa


A method for recognizing design patterns from C++ programs is presented. The method consists of two separate phases, analysis and reverse engineering of the C++ code, and architectural pattern matching over the reverse-engineered intermediate code representation. It is shown how the pattern recognition eect can be realized by integrating two specialized software tools, the reverse engineering framework Columbus and the architectural metrics analyzer Maisa. The method and the integrated power of the tool set are illustrated with small experiments.

Acta Cybernetica, 15(4):669–682


    author   = {Ferenc, Rudolf and Gustafsson, Juha and M{\"u}ller, L\'aszl\'o and Paakki, Jukka},
    title    = {Recognizing Design Patterns in {C++} programs with the integration of {C}olumbus and {M}aisa},
    journal  = {Acta Cybernetica},
    year     = {2002},
    volume   = {15},
    number   = {4},
    pages    = {669--682},
    month    = dec,
    issn     = {0324-721X},
    keywords = {design patterns, reverse engineering, source code parsing, C++, object-oriented design},
    url      = {},