• DocumentCode
    832528
  • Title

    Design Pattern Detection Using Similarity Scoring

  • Author

    Tsantalis, Nikolaos ; Chatzigeorgiou, Alexander ; Stephanides, George ; Halkidis, Spyros T.

  • Author_Institution
    Dept. of Appl. Informatics, Univ. of Macedonia, Thessaloniki
  • Volume
    32
  • Issue
    11
  • fYear
    2006
  • Firstpage
    896
  • Lastpage
    909
  • Abstract
    The identification of design patterns as part of the reengineering process can convey important information to the designer. However, existing pattern detection methodologies generally have problems in dealing with one or more of the following issues: identification of modified pattern versions, search space explosion for large systems and extensibility to novel patterns. In this paper, a design pattern detection methodology is proposed that is based on similarity scoring between graph vertices. Due to the nature of the underlying graph algorithm, this approach has the ability to also recognize patterns that are modified from their standard representation. Moreover, the approach exploits the fact that patterns reside in one or more inheritance hierarchies, reducing the size of the graphs to which the algorithm is applied. Finally, the algorithm does not rely on any pattern-specific heuristic, facilitating the extension to novel design structures. Evaluation on three open-source projects demonstrated the accuracy and the efficiency of the proposed method
  • Keywords
    graph theory; object-oriented methods; object-oriented programming; systems re-engineering; design pattern detection; graph algorithms; graph vertices; open-source project; reengineering process; Algorithm design and analysis; Clustering algorithms; Computer Society; Design methodology; Explosions; Open source software; Pattern recognition; Reverse engineering; Software systems; Space exploration; Patterns; graph algorithms; object-oriented design methods; reengineering.; restructuring; reverse engineering;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2006.112
  • Filename
    4015512