Design Pattern Detection Using Similarity Scoring

Nikolaos Tsantalis, Alexander Chatzigeorgiou, George Stephanides, Spyros Halkidis
2006 IEEE Transactions on Software Engineering  
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
more » ... 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.
doi:10.1109/tse.2006.112 fatcat:vb34yq5qgnegngfdociofv265y