Skip to main content
Log in

Design pattern detection approaches: a systematic review of the literature

  • Published:
Artificial Intelligence Review Aims and scope Submit manuscript

Abstract

Nowadays, software engineers have a great tendency to use design patterns (DPs) because they are considered to have an important role in software engineering in the sense that they can make the understanding of nonentities easier. However, most of the systems have no document helping engineers recognize DPs from the codes. As a result, different approaches for design pattern detection have been suggested. The current paper reviews different available literature on design pattern detection and reports a number of different aspects of them such as data representation, type of design pattern, advantages and disadvantages for different approaches, quantitative results, etc. The current paper reviews research studies published between 2008 until 2019 and represents a list of datasets used for evaluations. The present investigation paper is not only to lay the ground for the selection of the optimal design patterns, but also hopes to guide the future studies through raising awareness about the potential defects in the previous researches.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30
Fig. 31
Fig. 32
Fig. 33

Similar content being viewed by others

References

  • Aladib L, Lee S (2018) Pattern detection and design rationale traceability: an integrated approach to software design quality. IET Softw 13:249–259

    Google Scholar 

  • Alhusain S, Coupland S, John R, Kavanagh M (2013a) Towards machine learning based design pattern recognition. In: 2013 13th UK workshop on computational intelligence (UKCI). IEEE, pp 244–251

  • Alhusain S, Coupland S, John R, Kavanagh M (2013b) Design pattern recognition by using adaptive neuro fuzzy inference system. In: 2013 IEEE 25th international conference on tools with artificial intelligence (ICTAI). IEEE, pp 581–587

  • Alnusair A, Zhao T (2009) Towards a model-driven approach for reverse engineering design patterns. In Proceedings of the 2nd international workshop on transforming and weaving ontologies in MDE (TWOMDE 2009), Denver, Colorado, USA, vol. 531, p 130

  • Alnusair A, Zhao T (2010) Using semantic inference for software understanding and design recovery. In: 2010 seventh international conference on information technology: new generations (ITNG). IEEE, pp 980–985

  • Alnusair A, Zhao T, Yan G (2013) Automatic recognition of design motifs using semantic conditions. In: Proceedings of the 28th annual acm symposium on applied computing. ACM, pp 1062–1067

  • Alnusair A, Zhao T, Yan G (2014) Rule-based detection of design patterns in program code. Int J Softw Tools Technol Transf 16(3):315–334

    Google Scholar 

  • Al-Obeidallah M, Petridis M, Kapetanakis S (2016) A survey on design pattern detection. Int J Softw Eng (IJSE) 7(3):41–59

    Google Scholar 

  • Al-Obeidallah MG, Petridis M, Kapetanakis S (2017a) A structural rule-based approach for design patterns recovery. In international conference on software engineering research, management and applications. Springer, Cham, pp 107–124

  • Al-Obeidallah M, Petridis M, Kapetanakis S (2017b) MLDA: a multiple levels detection approach for design patterns recovery. In: Proceedings of the international conference on compute and data analysis. ACM, pp 33–40

  • Alshira’h M (2017) Detection a design pattern through merge static and dynamic analysis using altova and lambdes tools. Int J Appl Eng Res 12(19):8518–8522

    Google Scholar 

  • Arcelli F, Tosi C, Zanoni M, Maggioni S (2008) The MARPLE project: a tool for design pattern detection and software architecture reconstruction. In: 1st international workshop on academic software development tools and techniques (WASDeTT-1), pp 325–334

  • Ba-Brahem AS, Qureshi M (2014) The proposal of improved inexact isomorphic graph algorithm to detect design patterns. arXiv preprint arXiv:1408.6147

  • Bashir A, Rasool G, Bashir K, Ali AH (2013) Design patterns and documentation recovery based on attributes. Int J Soft Comput Softw Eng 3(3):149–155

    Google Scholar 

  • Bayley I, Zhu H (2010) Formal specification of the variants and behavioural features of design patterns. J Syst Softw 83(2):209–221

    Google Scholar 

  • Bernardi, ML, Di Lucca GA (2010) Model-driven detection of design patterns. In: 2010 IEEE international conference on software maintenance (ICSM). IEEE, pp 1–5

  • Bernardi ML, Cimitile M, Di Lucca GA (2013) A model-driven graph-matching approach for design pattern detection. In: 2013 20th working conference on reverse engineering (WCRE). IEEE, pp 172–181

  • Bernardi ML, Cimitile M, Di Lucca G (2014) Design pattern detection using a DSL-driven graph matching approach. J Softw Evol Process 26(12):1233–1266

    Google Scholar 

  • Bernardi ML, Cimitile M, De Ruvo G, Di Lucca GA, Santone A (2015) Improving design patterns finder precision using a model checking approach. In: CAiSE forum, pp 113–120‏

  • Binun A, Kniesel G (2012a) DPJF-design pattern detection with high accuracy. In: 2012 16th European conference on software maintenance and reengineering (CSMR). IEEE, pp 245–254

  • Binun A, Kniesel G (2012b) Joining forces for higher precision and recall of design pattern detection. CS Department III, University of Bonn, Germany, Technical report IAI-TR-2012-01

  • Bouassida N, Ben-Abdallah H (2009) Design improvement through dynamic and Structural pattern identification. In: Proceedings of the third international conference on innovation and information and communication technology. BCS Learning & Development Ltd., pp 4–4

  • Bouassida N, Ben-Abdallah H (2010a) A new approach for pattern problem detection. In: International conference on advanced information systems engineering. Springer, Berlin, pp 150–164

  • Bouassida N, Ben-Abdallah H (2010b) Pattern and spoiled pattern detection through an information retrieval approach. J Emerg Technol Web Intell 2(3):167

    Google Scholar 

  • Chaturvedi A, Gupta M, Gupta SK (2016) Design pattern detection using genetic algorithm for sub-graph isomorphism to enhance software reusability. Int J Comput Appl 135(4):33–36

    Google Scholar 

  • Chaturvedi A, Gupta M, Gupta SK (2018) DPVO: design pattern detection using vertex ordering a case study in JHotDraw with documentation to improve reusability. In: International conference on communication, networks and computing. Springer, Singapore, pp 452–465

  • Chen L, Qiu M (2010) An algorithm for automatic mining design pattern. In: 2010 5th international conference on computer science and education (ICCSE). IEEE, pp 1860–1864

  • Chihada A, Jalili S, Hasheminejad SMH, Zangooei MH (2015) Source code and design conformance, design pattern detection from source code by classification approach. Appl Soft Comput 26:357–367

    Google Scholar 

  • Czibula IG, Czibula G (2008) Identifying design patterns in object-oriented software systems using unsupervised learning. In: IEEE International conference on automation, quality and testing, robotics, 2008, AQTR 2008, vol. 3. IEEE, pp 347–352

  • Dabain H, Manzer A, Tzerpos V (2015) Design pattern detection using FINDER. In: Proceedings of the 30th annual acm symposium on applied computing. ACM, pp 1586–1593

  • De Lucia A, Deufemia V, Gravino C, Risi M (2009a) Design pattern recovery through visual language parsing and source code analysis. J Syst Softw 82(7):1177–1193

    Google Scholar 

  • De Lucia A, Deufemia V, Gravino C, Risi M (2009b) Behavioral pattern identification through visual language parsing and code instrumentation. In: 13th European conference on software maintenance and reengineering 2009 CSMR’09. IEEE, pp 99–108

  • De Lucia A, Deufemia V, Gravino C, Risi M (2010a) Improving behavioral design pattern detection through model checking. In: 2010 14th European conference on software maintenance and reengineering. IEEE, pp 176–185‏

  • De Lucia A, Deufemia V, Gravino C, Risi M (2010b) An eclipse plug-in for the detection of design pattern instances through static and dynamic analysis. In: 2010 IEEE international conference on software maintenance (ICSM). IEEE, pp 1–6

  • De Lucia A, Deufemia V, Gravino C, Risi M, Pirolli C (2015a) ePadEvo: a tool for the detection of behavioral design patterns. In: 2015 IEEE international conference on software maintenance and evolution (ICSME). IEEE, pp 327–329

  • De Lucia A, Deufemia V, Gravino C, Risi M (2015b) Towards automating dynamic analysis for behavioral design pattern detection. In: 2015 IEEE international conference on software maintenance and evolution (ICSME). IEEE, pp 161–170

  • Di Martino B, Esposito A (2013) Automatic recognition of design patterns from UML-based software documentation. In: Proceedings of international conference on information integration and web-based applications and services. ACM

  • Di Martino B, Esposito A (2016) A rule-based procedure for automatic recognition of design patterns in UML diagrams. Softw Pract Exp 46(7):983–1007

    Google Scholar 

  • Dong J, Lad DS, Zhao Y (2007) DP-Miner: design pattern discovery using matrix. In: 14th Annual IEEE international conference and workshops on engineering of computer-based systems, 2007, ECBS’07. IEEE, pp 371–380

  • Dong J, Sun Y, Zhao Y (2008a) Compound record clustering algorithm for design pattern detection by decision tree learning. In: IEEE international conference on information reuse and integration, IRI 2008. IEEE, pp 226–231

  • Dong J, Sun Y, Zhao Y (2008b) Design pattern detection by template matching. In: Proceedings of the 2008 ACM symposium on applied computing. ACM, pp 765–769

  • Dong J, Zhao Y, Peng T (2009a) A review of design pattern mining techniques. Int J Softw Eng Knowl Eng 19(06):823–855

    Google Scholar 

  • Dong J, Zhao Y, Sun Y (2009b) A matrix-based approach to recovering design patterns. IEEE Trans Syst Man Cybern Part A Syst Hum 39(6):1271–1282

    Google Scholar 

  • Dwivedi AK, Tirkey A, Rath SK (2016) Applying software metrics for the mining of design pattern. In: 2016 IEEE Uttar Pradesh section international conference on electrical, computer and electronics engineering (UPCON). IEEE, pp 426–431

  • Dwivedi AK, Tirkey A, Ray RB, Rath SK (2016) Software design pattern recognition using machine learning techniques. In Region 10 conference (TENCON), 2016 IEEE. IEEE, pp 222–227

  • Dwivedi AK, Tirkey A, Rath SK (2018) Software design pattern mining using classification-based techniques. Front Comput Sci 12(5):908–922

    Google Scholar 

  • Elaasar M, Briand LC, Labiche Y (2015) VPML: an approach to detect design patterns of MOF-based modeling languages. Softw Syst Model 14(2):735–764

    Google Scholar 

  • Fontana FA, Zanoni M (2011) A tool for design pattern detection and software architecture reconstruction. Inf Sci 181(7):1306–1324

    Google Scholar 

  • Fontana FA, Maggioni S, Raibulet C (2011) Understanding the relevance of micro-structures for design patterns detection. J Syst Softw 84(12):2334–2347

    Google Scholar 

  • Freeman E, Robson E, Bates B, Sierra K (2004) head first design patterns: a brain-friendly guide. O’Reilly Media Inc., Sebastopol

    Google Scholar 

  • Gamma E (1995) Design patterns: elements of reusable object-oriented software. Pearson Education India, New York

    Google Scholar 

  • García A, Velasco-Elizondo P, Zamarrón JM (2013) Applying social network analysis metrics to software design patterns detection. In: ASNA 2013 applications of social network analysis, University of Zurich

  • Gautam AK, Diwaker S (2012) Automatic detection of software design patterns from reverse engineering. Springer, Berlin

    Google Scholar 

  • Guéhéneuc YG (2007) P-mart: pattern-like micro architecture repository. In: Proceedings of the 1st EuroPLoP focus group on pattern repositories, pp 1–3

  • Guéhéneuc YG, Antoniol G (2008) Demima: a multilayered approach for design pattern identification. IEEE Trans Softw Eng 34(5):667–684

    Google Scholar 

  • Guéhéneuc YG, Guyomarćh JY, Sahraoui H (2010) Improving design-pattern identification: a new approach and an exploratory study. Softw Qual J 18(1):145–174

    Google Scholar 

  • Gupta M (2011) Design pattern mining using greedy algorithm for multi-labelled graphs. Int J Inf Commun Technol 3(4):314–323

    Google Scholar 

  • Gupta M (2017) A technique for design patterns detection. Indian J Comput Sci Eng (IJCSE) 8(3)

  • Gupta M, Rao RS (2014) Design pattern mining by product of sum (POS) expression for graphs. Int J Comput Appl. https://doi.org/10.5120/14856-3223

    Article  Google Scholar 

  • Gupta M, Pande A, Rao RS, Tripathi AK (2010a) Design pattern detection by normalized cross correlation. In: 2010 international conference on methods and models in computer science (ICM2CS). IEEE, pp 81–84

  • Gupta M, Rao RS, Tripathi AK (2010b) Design pattern detection using inexact graph matching. In: 2010 international conference on communication and computational intelligence (INCOCCI). IEEE, pp 211–217

  • Gupta M, Pande A, Tripathi AK (2011b) Design patterns detection using SOP expressions for graphs. ACM SIGSOFT Softw Eng Notes 36(1):1–5

    Google Scholar 

  • Han Z, Wang L, Yu L, Chen X, Zhao J, Li X (2009) Design pattern directed clustering for understanding open source code. In: IEEE 17th international conference on program comprehension, 2009, ICPC’09. IEEE, pp 295–296

  • Hayashi S, Katada J, Sakamoto R, Kobayashi T, Saeki M (2008) Design pattern detection by using meta patterns. IEICE Trans Inf Syst 91(4):933–944

    Google Scholar 

  • Hussain S, Keung J, Khan AA (2017) Software design patterns classification and selection using text categorization approach. Appl Soft Comput 58:225–244

    Google Scholar 

  • Hussain S, Keung J, Sohail MK, Khan AA, Ilahi M (2019) Automated framework for classification and selection of software design patterns. Appl Soft Comput 75:1–20

    Google Scholar 

  • Issaoui I, Bouassida N, Ben-Abdallah H (2015) Using metric-based filtering to improve design pattern detection approaches. Innov Syst Softw Eng 11(1):39–53

    Google Scholar 

  • Issaoui I, Bouassida N, Ben-Abdallah H (2016) Predicting the existence of design patterns based on semantics and metrics. Int Arab J Inf Technol 13(2):310–319

    Google Scholar 

  • Kaczor O, Guéhéneuc YG, Hamel S (2010) Identification of design motifs with pattern matching algorithms. Inf Softw Technol 52(2):152–168

    Google Scholar 

  • Karam M, Aljahdali S, Mcheick H, Abdallah R, Ollaic H (2014) Graph transformation rules with weight and fuzzy logic for better design pattern recognition.‏ Int J Comput Inf Technol 3

  • Kirasić D, Basch D (2008) Ontology-based design pattern recognition. In: International conference on knowledge-based and intelligent information and engineering systems. Springer, Berlin, pp 384–393

  • Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering‏

  • Kniesel G, Binun A (2009a) Witnessing patterns: a data fusion approach to design pattern detection. CS Department III, University of Bonn, Germany, Technical report IAI-TR-2009-02, ISSN, 0944-8535

  • Kniesel G, Binun A (2009b) Standing on the shoulders of giants---a data fusion approach to design pattern detection. In: IEEE 17th international conference on program comprehension, 2009, ICPC’09. IEEE, pp 208–217

  • Lavender RG, Schmidt DC (1995) Active object—an object behavioral pattern for concurrent programming

  • Lebon M, Tzerpos V (2012) Fine-grained design pattern detection. In: 2012 IEEE 36th annual computer software and applications conference (COMPSAC). IEEE, pp 267–272

  • Lee H, Youn H, Lee E (2008) A design pattern detection technique that aids reverse engineering. Int J Secur Appl 2(1):1–12

    MathSciNet  Google Scholar 

  • Liamwiset C, Wiwat V (2013) Detection of design patterns in software design model using graph. In: Applied mechanics and materials, vol. 411. Trans Tech Publications, pp 559–562

  • Liu C, van Dongen BF, Assy N, van der Aalst WM (2018a) A framework to support behavioral design pattern detection from software execution data. In: ENASE, pp 65–76‏

  • Liu C, van Dongen BF, Assy N, van der Aalst WM (2018b) A framework to support behavioral design pattern detection from software execution data. In: ENASE, pp 65–76

  • Luitel G, Stephan M, Inclezan D (2016) Model level design pattern instance detection using answer set programming. In: Proceedings of the 8th international workshop on modeling in software engineering. ACM, pp 13–19

  • Majtás LU (2011) Contribution to the creation and recognition of the design patterns instances. Inf Sci Technol Bull ACM Slovak 3(1):84–92

    Google Scholar 

  • Mattson TG, Sanders B, Massingill B (2004) Patterns for parallel programming. Pearson Education, New York

    MATH  Google Scholar 

  • Mayvan BB, Rasoolzadegan A (2017) Design pattern detection based on the graph theory. Knowl Based Syst 120:211–225

    Google Scholar 

  • Nagy A, Kovari B (2015) Programming language neutral design pattern detection. In: 2015 16th IEEE international symposium on computational intelligence and informatics (CINTI). IEEE, pp 215–219

  • Ng JKY, Guéhéneuc YG, Antoniol G (2010) Identification of behavioural and creational design motifs through dynamic analysis. J Softw Evol Process 22(8):597–627

    Google Scholar 

  • Oruc M, Akal F, Sever H (2016) Detecting design patterns in object-oriented design models by using a graph mining approach. In: 2016 4th international conference on software engineering research and innovation (CONISOFT). IEEE, pp 115–121

  • Pande A, Gupta M, Tripathi AK (2010a) A new approach for detecting design patterns by graph decomposition and graph isomorphism. Contemporary computing, pp 108–119

  • Pande A, Gupta M, Tripathi AK (2010b) DNIT—a new approach for design pattern detection. In: 2010 international conference on computer and communication technology (ICCCT). IEEE, pp 545–550

  • Pande A, Gupta M, Tripathi AK (2010c) A decision tree approach for design patterns detection by subgraph isomorphism. In: International conference on advances in information and communication technologies. Springer, Berlin, pp 561–564

  • Panich A, Vatanawood W (2016) Detection of design patterns from class diagram and sequence diagrams using ontology. In: 2016 IEEE/ACIS 15th international conference on computer and information science (ICIS). IEEE, pp 1–6

  • Paydar S, Kahani M (2012) A semantic web based approach for design pattern detection from source code. In: 2012 2nd international econference on computer and knowledge engineering (ICCKE). IEEE, pp 289–294‏

  • Pradhan P, Dwivedi AK, Rath SK (2015) Detection of design pattern using graph isomorphism and normalized cross correlation. In: 2015 Eighth international conference on contemporary computing (IC3). IEEE, pp 208–213

  • Priya RK (2014) A survey: design pattern detection approaches with metrics. In: 2014 IEEE national conference on emerging trends in new and renewable energy sources and energy management (NCET NRES EM). IEEE, pp 22–26

  • Qiu M, Jiang Q, Gao A, Chen E, Qiu D, Chai S (2010) Detecting design pattern using subgraph discovery. In: Asian conference on intelligent information and database systems. Springer, Berlin, pp 350–359

  • Rasool G, Mäder P (2011) Flexible design pattern detection based on feature types. In: 2011 26th IEEE/ACM international conference on automated software engineering (ASE). IEEE, pp 243–252

  • Rasool G, Mäder P (2014) A customizable approach to design patterns recognition based on feature types. Arab J Sci Eng 39(12):8851–8873

    Google Scholar 

  • Rasool G, Philippow I, Mäder P (2010) Design pattern recovery based on annotations. Adv Eng Softw 41(4):519–526

    MATH  Google Scholar 

  • Ren W, Zhao W (2012) An observer design-pattern detection technique. In: 2012 IEEE international conference on computer science and automation engineering (CSAE), vol. 3. IEEE

  • Riaz M, Breaux T, Williams L (2015) How have we evaluated software pattern application? A systematic mapping study of research design practices. Inf Softw Technol 65:14–38

    Google Scholar 

  • Robinson A, Bates C (2016) Recovering design patterns from large codebases. In: Proceedings of international conference on computer science education innovation & technology (CSEIT). Global Science and Technology Forum, p 136

  • Romano S, Scanniello G, Risi M, Gravino C (2011) Clustering and lexical information support for the recovery of design pattern in source code. In: 2011 27th IEEE international conference on software maintenance (ICSM). IEEE, pp 500–503

  • Sebastian F (2002) Machine learning in automated text categorization. J ACM Comput Surv (CSUR) 34:1–47

    Google Scholar 

  • Stencel K, Wegrzynowicz P (2008) Detection of diverse design pattern variants. In: Software engineering conference, 2008, APSEC’08, 15th Asia-Pacific. IEEE, pp 25–32

  • Stephan M, Cordy JR (2015) Identifying instances of model design patterns and antipatterns using model clone detection. In: 2015 IEEE/ACM 7th international workshop on modeling in software engineering (MiSE). IEEE, pp 48–53

  • Stoianov A, Şora I (2010) Detecting patterns and antipatterns in software using prolog rules. In: 2010 International joint conference on computational cybernetics and technical informatics (ICCC-CONTI). IEEE, pp 253–258

  • Thaller H, Linsbauer L, Egyed A (2019) Feature maps: a comprehensible software representation for design pattern detection. In: 2019 IEEE 26th international conference on software analysis, evolution and reengineering (SANER), pp 207–21

  • Thankappan J, Patil V (2015) Detection of web design patterns using reverse engineering. In: 2015 Second international conference on advances in computing and communication engineering (ICACCE). IEEE, pp 697–701

  • Thongrak M, Vatanawood W (2014) Detection of design pattern in class diagram using ontology. In: Computer science and engineering conference (ICSEC). IEEE, pp 97–102

  • Tramontana E (2014) Detecting extra relationships for design patterns roles. In: Proceedings of AsianPlop, Tokyo, Japan

  • Tripathi V, Mahesh TSG, Srivastava A (2009) Performance and language compatibility in software pattern detection. In 2009 IEEE international conference on advance computing, IACC 2009. IEEE, pp 1639–1643

  • Tsantalis N, Chatzigeorgiou A, Stephanides G, Halkidis ST (2006) Design pattern detection using similarity scoring. IEEE Trans Softw Eng 32(11):896–909

    Google Scholar 

  • Uchiyama S, Washizaki H, Fukazawa Y, Kubo A (2011) Design pattern detection using software metrics and machine learning. In: First international workshop on model-driven software migration (MDSM 2011), p 38

  • Uchiyama S, Kubo A, Washizaki H, Fukazawa Y (2014) Detecting design patterns in object-oriented program source code by using metrics and machine learning. J Softw Eng Appl 7(12):983

    Google Scholar 

  • von Detten M (2011) Towards systematic, comprehensive trace generation for behavioral pattern detection through symbolic execution. In: Proceedings of the 10th ACM SIGPLAN-SIGSOFT workshop on program analysis for software tools. ACM, pp 17–20

  • von Detten M, Becker S (2011) Combining clustering and pattern detection for the reengineering of component-based software systems. In: Proceedings of the joint ACM SIGSOFT conference–QoSA and ACM SIGSOFT symposium–ISARCS on quality of software architectures–QoSA and architecting critical systems–ISARCS. ACM, pp 23–32

  • von Detten M, Platenius MC (2009) Improving dynamic design pattern detection in reclipse with set objects. In: Proceedings of the 7th international Fujaba days, pp 15–19

  • Wang L, Han Z, He J, Wang H, Li X (2012a) Recovering design patterns to support program comprehension. In: Proceedings of the 2nd international workshop on evidential assessment of software technologies. ACM, pp 49–54

  • Wang Y, Guo H, Liu H, Abraham A (2012b) A fuzzy matching approach for design pattern mining. J Intell Fuzzy Syst 23(2–3):53–60

    MATH  Google Scholar 

  • Wegrzynowicz P, Stencel K (2013) Relaxing queries to detect variants of design patterns. In: 2013 federated conference on computer science and information systems (FedCSIS). IEEE, pp 1571–1578

  • Wierda A, Dortmans E, Somers L (2008) Pattern detection in object-oriented source code. In: Software and data technologies. Springer, Berlin, pp 141–158

  • Yu D, Zhang Y, Ge J, Wu W (2013a) From sub-patterns to patterns: an approach to the detection of structural design pattern instances by subgraph mining and merging. In: 2013 IEEE 37th annual computer software and applications conference (COMPSAC). IEEE, pp 579–588

  • Yu D, Ge J, Wu W (2013b) Detection of design pattern instances based on graph isomorphism. In: 2013 4th IEEE international conference on software engineering and service science (ICSESS). IEEE, pp 874–877

  • Yu D, Zhang Y, Chen Z (2015) A comprehensive approach to the recovery of design pattern instances based on sub-patterns and method signatures. J Syst Softw 103:1–16

    Google Scholar 

  • Yu D, Zhang P, Yang J, Chen Z, Liu C, Chen J (2018) Efficiently detecting structural design pattern instances based on ordered sequences. J Syst Softw 142:35–56

    Google Scholar 

  • Zanoni M, Fontana FA, Stella F (2015) On applying machine learning techniques for design pattern detection. J Syst Softw 103:102–117

    Google Scholar 

  • Zhang P, Yu D, Wang J (2017) A degree-driven approach to design pattern mining based on graph matching. In: 2017 24th Asia-Pacific software engineering conference (APSEC). IEEE, pp 179–188

  • Zhu H, Bayley I, Shan L, Amphlett R (2009) Tool support for design pattern recognition at model level. In: 2009 33rd Annual IEEE International Computer Software and Applications Conference, 2009, COMPSAC’09, vol. 1. IEEE, pp. 228–233

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Seyed Mohammad Hossein Hasheminejad.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

See Table 16.

Table 16 Summary of some papers about design pattern detection

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yarahmadi, H., Hasheminejad, S.M.H. Design pattern detection approaches: a systematic review of the literature. Artif Intell Rev 53, 5789–5846 (2020). https://doi.org/10.1007/s10462-020-09834-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10462-020-09834-5

Keywords

Navigation