A Design Pattern Detection Method Based on Similarity Scoring
Detecting design pattern instances in UML models by using software tools can help software developers to understand，maintain and reconstruct the large-scale software projects. Most of the existing methods for automatic design pattern detection let the several considered features match separately，so that the accuracy rate and time performance are not high enough. Therefore，a design pattern detection method based on similarity scoring was proposed. First，the basic process of this method was given; then，a representation of system and patterns based on directed graph/matrix was proposed; the pattern instance search algorithm based on similarity scoring was discussed in detail; finally，a supporting tool for this method was implemented，and design patterns in an open source project were detected by using this tool. This method does not let the several considered features match separately，but uses the integral feature matrixes to match. The experimental results show that，compared with the design pattern detection methods which let the several considered features match separately，the detection accuracy rate and time performance of this method are higher.
Keywords: design pattern detection, accuracy, time performance, directed graph, software re-engineering
RASOOL G，STREITFDERT D. A survey on design pattern recovery techniques [J]. International Journal of Computer Science Issues，2011，8（6）：251—260.
XU H B，ZHANG X L，ZHENG X M，et al UML design pattern recognition method based on structured query [J] Computer Science，2014，41（11）：50—55.（In Chinese）
YU D，ZHANG Y，CHEN Z. A comprehensive approach to the recovery of design pattern instances based on sub -patterns and method signatures [J]. Journal of Systems& Software，2015，103： 1—16.
BERNARDI M L，LUCCAGA D. Model-driven detection of design patterns [C]// IEEE International Conference on Software Maintenance. Timisoara：IEEE Computer Society，2010：1—5.
BeRNARDI M L，CIMITILE M，LUCCA G A D. A model -driven graph-matching approach for design pattern detection [C]// Working Conference on Reverse Engineering. Beverly：IEEE，2013： 172—181.
BERNARDI M L，CIMITILE M，LUCCA G D. Design pattern detection using a DSL driven graph matching approach[J]. Journal of Software Evolution & Process，2014，26（12）：1233—1266.
DONG J，SUN Y，ZHAO Y. Design pattern detection by template matching [C]// The 23rd Annual ACM Symposium on Applied Computing. Fortaleza：DBLP，2008：765—769.
DONG J，ZHAO Y，SUN Y. A matrix-based approach to recovering design patterns [J]. IEEE Transactions on Systems，Man，and Cybernetics - Part A：Systems and Humans，2009，39（6）：1271— 1282.
TSANTALIS N，CHATZIGEORGIOU A，STEPHANIDES G，et al.Design pattern detection using similarity scoring[J]. IEEE Transactions on Software Engineering，2006，32（11）：896—909.
BLONDEL V D，GAJARDO A，HEYMANS M，et al. A measure of similarity between graph vertices：applications to synonym extraction and web searching [J]. SIAM Review，2004，46（4）：647— 666.
COSTAGLIOLA G，LUCIA A D，DEUFEMIA V，et al. Design pattern recovery by visual language parsing [C]// European Conference on Software Maintenance and Reengineering. Manchester：IEEE， 2005：102—111.
COSTAGLIOLA G，LUCIA A D，DEUFEMIA V，et al. Case studies of visual language based design patterns recovery [C]// European Conference on Software Maintenance & Reengineering. Los Alami原tos：IEEE，2006：1—10.
LUCIAA D，DEUFEMIA V，GRAVINO C，et al. Behavioral pattern identification through visual language parsing and code instrumen tation [C]// European Conference on Software Maintenance & Reengineering. Kaiserslautern：IEEE，2009：99—108.
LUCIA A D，DEUFEMIA V，GRAVINO C，et al. Design pattern recovery through visual language parsing and source code analysis[J]. Journal of Systems & Software，2009，82（7）：1177—1193.
- There are currently no refbacks.