{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,23]],"date-time":"2026-04-23T05:01:41Z","timestamp":1776920501623,"version":"3.51.2"},"reference-count":128,"publisher":"Springer Science and Business Media LLC","issue":"8","license":[{"start":{"date-parts":[[2020,4,20]],"date-time":"2020-04-20T00:00:00Z","timestamp":1587340800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,4,20]],"date-time":"2020-04-20T00:00:00Z","timestamp":1587340800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Artif Intell Rev"],"published-print":{"date-parts":[[2020,12]]},"DOI":"10.1007\/s10462-020-09834-5","type":"journal-article","created":{"date-parts":[[2020,4,20]],"date-time":"2020-04-20T11:02:37Z","timestamp":1587380557000},"page":"5789-5846","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":18,"title":["Design pattern detection approaches: a systematic review of the literature"],"prefix":"10.1007","volume":"53","author":[{"given":"Hadis","family":"Yarahmadi","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Seyed Mohammad Hossein","family":"Hasheminejad","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,4,20]]},"reference":[{"key":"9834_CR1","doi-asserted-by":"crossref","first-page":"249","DOI":"10.1049\/iet-sen.2017.5017","volume":"13","author":"L Aladib","year":"2018","unstructured":"Aladib L, Lee S (2018) Pattern detection and design rationale traceability: an integrated approach to software design quality. IET Softw 13:249\u2013259","journal-title":"IET Softw"},{"key":"9834_CR2","doi-asserted-by":"crossref","unstructured":"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\u2013251","DOI":"10.1109\/UKCI.2013.6651312"},{"key":"9834_CR3","doi-asserted-by":"crossref","unstructured":"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\u2013587","DOI":"10.1109\/ICTAI.2013.92"},{"key":"9834_CR4","unstructured":"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"},{"key":"9834_CR5","doi-asserted-by":"crossref","unstructured":"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\u2013985","DOI":"10.1109\/ITNG.2010.96"},{"key":"9834_CR6","doi-asserted-by":"crossref","unstructured":"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\u20131067","DOI":"10.1145\/2480362.2480564"},{"issue":"3","key":"9834_CR7","doi-asserted-by":"crossref","first-page":"315","DOI":"10.1007\/s10009-013-0292-z","volume":"16","author":"A Alnusair","year":"2014","unstructured":"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\u2013334","journal-title":"Int J Softw Tools Technol Transf"},{"issue":"3","key":"9834_CR8","first-page":"41","volume":"7","author":"M Al-Obeidallah","year":"2016","unstructured":"Al-Obeidallah M, Petridis M, Kapetanakis S (2016) A survey on design pattern detection. Int J Softw Eng (IJSE) 7(3):41\u201359","journal-title":"Int J Softw Eng (IJSE)"},{"key":"9834_CR9","doi-asserted-by":"crossref","unstructured":"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\u2013124","DOI":"10.1007\/978-3-319-61388-8_7"},{"key":"9834_CR10","doi-asserted-by":"crossref","unstructured":"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\u201340","DOI":"10.1145\/3093241.3093244"},{"issue":"19","key":"9834_CR11","first-page":"8518","volume":"12","author":"M Alshira\u2019h","year":"2017","unstructured":"Alshira\u2019h 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\u20138522","journal-title":"Int J Appl Eng Res"},{"key":"9834_CR12","unstructured":"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\u2013334"},{"key":"9834_CR13","unstructured":"Ba-Brahem AS, Qureshi M (2014) The proposal of improved inexact isomorphic graph algorithm to detect design patterns. arXiv preprint arXiv:1408.6147"},{"issue":"3","key":"9834_CR14","first-page":"149","volume":"3","author":"A Bashir","year":"2013","unstructured":"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\u2013155","journal-title":"Int J Soft Comput Softw Eng"},{"issue":"2","key":"9834_CR15","doi-asserted-by":"crossref","first-page":"209","DOI":"10.1016\/j.jss.2009.09.039","volume":"83","author":"I Bayley","year":"2010","unstructured":"Bayley I, Zhu H (2010) Formal specification of the variants and behavioural features of design patterns. J Syst Softw 83(2):209\u2013221","journal-title":"J Syst Softw"},{"key":"9834_CR16","doi-asserted-by":"crossref","unstructured":"Bernardi, ML, Di Lucca GA (2010) Model-driven detection of design patterns. In: 2010 IEEE international conference on software maintenance (ICSM). IEEE, pp 1\u20135","DOI":"10.1109\/ICSM.2010.5609740"},{"key":"9834_CR17","doi-asserted-by":"crossref","unstructured":"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\u2013181","DOI":"10.1109\/WCRE.2013.6671292"},{"issue":"12","key":"9834_CR18","doi-asserted-by":"crossref","first-page":"1233","DOI":"10.1002\/smr.1674","volume":"26","author":"ML Bernardi","year":"2014","unstructured":"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\u20131266","journal-title":"J Softw Evol Process"},{"key":"9834_CR19","unstructured":"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\u2013120\u200f"},{"key":"9834_CR20","doi-asserted-by":"crossref","unstructured":"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\u2013254","DOI":"10.1109\/CSMR.2012.82"},{"key":"9834_CR21","unstructured":"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"},{"key":"9834_CR22","doi-asserted-by":"crossref","unstructured":"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\u20134","DOI":"10.14236\/ewic\/ISIICT2009.4"},{"key":"9834_CR23","doi-asserted-by":"crossref","unstructured":"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\u2013164","DOI":"10.1007\/978-3-642-13094-6_13"},{"issue":"3","key":"9834_CR24","first-page":"167","volume":"2","author":"N Bouassida","year":"2010","unstructured":"Bouassida N, Ben-Abdallah H (2010b) Pattern and spoiled pattern detection through an information retrieval approach. J Emerg Technol Web Intell 2(3):167","journal-title":"J Emerg Technol Web Intell"},{"issue":"4","key":"9834_CR25","first-page":"33","volume":"135","author":"A Chaturvedi","year":"2016","unstructured":"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\u201336","journal-title":"Int J Comput Appl"},{"key":"9834_CR26","unstructured":"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\u2013465"},{"key":"9834_CR27","doi-asserted-by":"crossref","unstructured":"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\u20131864","DOI":"10.1109\/ICCSE.2010.5593811"},{"key":"9834_CR28","doi-asserted-by":"crossref","first-page":"357","DOI":"10.1016\/j.asoc.2014.10.027","volume":"26","author":"A Chihada","year":"2015","unstructured":"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\u2013367","journal-title":"Appl Soft Comput"},{"key":"9834_CR29","unstructured":"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\u2013352"},{"key":"9834_CR30","doi-asserted-by":"crossref","unstructured":"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\u20131593","DOI":"10.1145\/2695664.2695900"},{"issue":"7","key":"9834_CR32","doi-asserted-by":"crossref","first-page":"1177","DOI":"10.1016\/j.jss.2009.02.012","volume":"82","author":"A De Lucia","year":"2009","unstructured":"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\u20131193","journal-title":"J Syst Softw"},{"key":"9834_CR33","doi-asserted-by":"crossref","unstructured":"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\u201909. IEEE, pp 99\u2013108","DOI":"10.1109\/CSMR.2009.29"},{"key":"9834_CR31","doi-asserted-by":"crossref","unstructured":"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\u2013185\u200f","DOI":"10.1109\/CSMR.2010.16"},{"key":"9834_CR34","doi-asserted-by":"crossref","unstructured":"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\u20136","DOI":"10.1109\/ICSM.2010.5609707"},{"key":"9834_CR35","doi-asserted-by":"crossref","unstructured":"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\u2013329","DOI":"10.1109\/ICSM.2015.7332480"},{"key":"9834_CR36","doi-asserted-by":"crossref","unstructured":"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\u2013170","DOI":"10.1109\/ICSM.2015.7332462"},{"key":"9834_CR37","doi-asserted-by":"crossref","unstructured":"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","DOI":"10.1145\/2539150.2539173"},{"issue":"7","key":"9834_CR38","doi-asserted-by":"crossref","first-page":"983","DOI":"10.1002\/spe.2336","volume":"46","author":"B Di Martino","year":"2016","unstructured":"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\u20131007","journal-title":"Softw Pract Exp"},{"key":"9834_CR39","doi-asserted-by":"crossref","unstructured":"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\u201907. IEEE, pp 371\u2013380","DOI":"10.1109\/ECBS.2007.33"},{"key":"9834_CR40","unstructured":"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\u2013231"},{"key":"9834_CR41","doi-asserted-by":"crossref","unstructured":"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\u2013769","DOI":"10.1145\/1363686.1363864"},{"issue":"06","key":"9834_CR42","doi-asserted-by":"crossref","first-page":"823","DOI":"10.1142\/S021819400900443X","volume":"19","author":"J Dong","year":"2009","unstructured":"Dong J, Zhao Y, Peng T (2009a) A review of design pattern mining techniques. Int J Softw Eng Knowl Eng 19(06):823\u2013855","journal-title":"Int J Softw Eng Knowl Eng"},{"issue":"6","key":"9834_CR43","doi-asserted-by":"crossref","first-page":"1271","DOI":"10.1109\/TSMCA.2009.2028012","volume":"39","author":"J Dong","year":"2009","unstructured":"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\u20131282","journal-title":"IEEE Trans Syst Man Cybern Part A Syst Hum"},{"key":"9834_CR44","doi-asserted-by":"crossref","unstructured":"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\u2013431","DOI":"10.1109\/UPCON.2016.7894692"},{"key":"9834_CR45","doi-asserted-by":"crossref","unstructured":"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\u2013227","DOI":"10.1109\/TENCON.2016.7847994"},{"issue":"5","key":"9834_CR46","doi-asserted-by":"crossref","first-page":"908","DOI":"10.1007\/s11704-017-6424-y","volume":"12","author":"AK Dwivedi","year":"2018","unstructured":"Dwivedi AK, Tirkey A, Rath SK (2018) Software design pattern mining using classification-based techniques. Front Comput Sci 12(5):908\u2013922","journal-title":"Front Comput Sci"},{"issue":"2","key":"9834_CR47","doi-asserted-by":"crossref","first-page":"735","DOI":"10.1007\/s10270-013-0325-9","volume":"14","author":"M Elaasar","year":"2015","unstructured":"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\u2013764","journal-title":"Softw Syst Model"},{"issue":"7","key":"9834_CR48","doi-asserted-by":"crossref","first-page":"1306","DOI":"10.1016\/j.ins.2010.12.002","volume":"181","author":"FA Fontana","year":"2011","unstructured":"Fontana FA, Zanoni M (2011) A tool for design pattern detection and software architecture reconstruction. Inf Sci 181(7):1306\u20131324","journal-title":"Inf Sci"},{"issue":"12","key":"9834_CR49","doi-asserted-by":"crossref","first-page":"2334","DOI":"10.1016\/j.jss.2011.07.006","volume":"84","author":"FA Fontana","year":"2011","unstructured":"Fontana FA, Maggioni S, Raibulet C (2011) Understanding the relevance of micro-structures for design patterns detection. J Syst Softw 84(12):2334\u20132347","journal-title":"J Syst Softw"},{"key":"9834_CR50","volume-title":"head first design patterns: a brain-friendly guide","author":"E Freeman","year":"2004","unstructured":"Freeman E, Robson E, Bates B, Sierra K (2004) head first design patterns: a brain-friendly guide. O\u2019Reilly Media Inc., Sebastopol"},{"key":"9834_CR51","volume-title":"Design patterns: elements of reusable object-oriented software","author":"E Gamma","year":"1995","unstructured":"Gamma E (1995) Design patterns: elements of reusable object-oriented software. Pearson Education India, New York"},{"key":"9834_CR52","unstructured":"Garc\u00eda A, Velasco-Elizondo P, Zamarr\u00f3n JM (2013) Applying social network analysis metrics to software design patterns detection. In: ASNA 2013 applications of social network analysis, University of Zurich"},{"key":"9834_CR53","volume-title":"Automatic detection of software design patterns from reverse engineering","author":"AK Gautam","year":"2012","unstructured":"Gautam AK, Diwaker S (2012) Automatic detection of software design patterns from reverse engineering. Springer, Berlin"},{"key":"9834_CR54","unstructured":"Gu\u00e9h\u00e9neuc YG (2007) P-mart: pattern-like micro architecture repository. In: Proceedings of the 1st EuroPLoP focus group on pattern repositories, pp 1\u20133"},{"issue":"5","key":"9834_CR55","doi-asserted-by":"crossref","first-page":"667","DOI":"10.1109\/TSE.2008.48","volume":"34","author":"YG Gu\u00e9h\u00e9neuc","year":"2008","unstructured":"Gu\u00e9h\u00e9neuc YG, Antoniol G (2008) Demima: a multilayered approach for design pattern identification. IEEE Trans Softw Eng 34(5):667\u2013684","journal-title":"IEEE Trans Softw Eng"},{"issue":"1","key":"9834_CR56","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1007\/s11219-009-9082-y","volume":"18","author":"YG Gu\u00e9h\u00e9neuc","year":"2010","unstructured":"Gu\u00e9h\u00e9neuc YG, Guyomar\u0107h JY, Sahraoui H (2010) Improving design-pattern identification: a new approach and an exploratory study. Softw Qual J 18(1):145\u2013174","journal-title":"Softw Qual J"},{"issue":"4","key":"9834_CR57","first-page":"314","volume":"3","author":"M Gupta","year":"2011","unstructured":"Gupta M (2011) Design pattern mining using greedy algorithm for multi-labelled graphs. Int J Inf Commun Technol 3(4):314\u2013323","journal-title":"Int J Inf Commun Technol"},{"key":"9834_CR58","unstructured":"Gupta M (2017) A technique for design patterns detection. Indian J Comput Sci Eng (IJCSE) 8(3)"},{"key":"9834_CR59","doi-asserted-by":"publisher","DOI":"10.5120\/14856-3223","author":"M Gupta","year":"2014","unstructured":"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","journal-title":"Int J Comput Appl"},{"key":"9834_CR60","doi-asserted-by":"crossref","unstructured":"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\u201384","DOI":"10.1109\/ICM2CS.2010.5706723"},{"key":"9834_CR61","unstructured":"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\u2013217"},{"issue":"1","key":"9834_CR62","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/1921532.1921541","volume":"36","author":"M Gupta","year":"2011","unstructured":"Gupta M, Pande A, Tripathi AK (2011b) Design patterns detection using SOP expressions for graphs. ACM SIGSOFT Softw Eng Notes 36(1):1\u20135","journal-title":"ACM SIGSOFT Softw Eng Notes"},{"key":"9834_CR63","doi-asserted-by":"crossref","unstructured":"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\u201909. IEEE, pp 295\u2013296","DOI":"10.1109\/ICPC.2009.5090065"},{"issue":"4","key":"9834_CR64","doi-asserted-by":"crossref","first-page":"933","DOI":"10.1093\/ietisy\/e91-d.4.933","volume":"91","author":"S Hayashi","year":"2008","unstructured":"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\u2013944","journal-title":"IEICE Trans Inf Syst"},{"key":"9834_CR65","doi-asserted-by":"crossref","first-page":"225","DOI":"10.1016\/j.asoc.2017.04.043","volume":"58","author":"S Hussain","year":"2017","unstructured":"Hussain S, Keung J, Khan AA (2017) Software design patterns classification and selection using text categorization approach. Appl Soft Comput 58:225\u2013244","journal-title":"Appl Soft Comput"},{"key":"9834_CR66","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.asoc.2018.10.049","volume":"75","author":"S Hussain","year":"2019","unstructured":"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\u201320","journal-title":"Appl Soft Comput"},{"issue":"1","key":"9834_CR67","doi-asserted-by":"crossref","first-page":"39","DOI":"10.1007\/s11334-014-0241-3","volume":"11","author":"I Issaoui","year":"2015","unstructured":"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\u201353","journal-title":"Innov Syst Softw Eng"},{"issue":"2","key":"9834_CR68","first-page":"310","volume":"13","author":"I Issaoui","year":"2016","unstructured":"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\u2013319","journal-title":"Int Arab J Inf Technol"},{"issue":"2","key":"9834_CR69","doi-asserted-by":"crossref","first-page":"152","DOI":"10.1016\/j.infsof.2009.08.006","volume":"52","author":"O Kaczor","year":"2010","unstructured":"Kaczor O, Gu\u00e9h\u00e9neuc YG, Hamel S (2010) Identification of design motifs with pattern matching algorithms. Inf Softw Technol 52(2):152\u2013168","journal-title":"Inf Softw Technol"},{"key":"9834_CR70","unstructured":"Karam M, Aljahdali S, Mcheick H, Abdallah R, Ollaic H (2014) Graph transformation rules with weight and fuzzy logic for better design pattern recognition.\u200f Int J Comput Inf Technol 3"},{"key":"9834_CR71","doi-asserted-by":"crossref","unstructured":"Kirasi\u0107 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\u2013393","DOI":"10.1007\/978-3-540-85563-7_50"},{"key":"9834_CR72","unstructured":"Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering\u200f"},{"key":"9834_CR73","doi-asserted-by":"crossref","unstructured":"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","DOI":"10.1109\/ICPC.2009.5090044"},{"key":"9834_CR74","doi-asserted-by":"crossref","unstructured":"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\u201909. IEEE, pp 208\u2013217","DOI":"10.1109\/ICPC.2009.5090044"},{"key":"9834_CR75","unstructured":"Lavender RG, Schmidt DC (1995) Active object\u2014an object behavioral pattern for concurrent programming"},{"key":"9834_CR76","doi-asserted-by":"crossref","unstructured":"Lebon M, Tzerpos V (2012) Fine-grained design pattern detection. In: 2012 IEEE 36th annual computer software and applications conference (COMPSAC). IEEE, pp 267\u2013272","DOI":"10.1109\/COMPSAC.2012.37"},{"issue":"1","key":"9834_CR77","first-page":"1","volume":"2","author":"H Lee","year":"2008","unstructured":"Lee H, Youn H, Lee E (2008) A design pattern detection technique that aids reverse engineering. Int J Secur Appl 2(1):1\u201312","journal-title":"Int J Secur Appl"},{"key":"9834_CR78","doi-asserted-by":"crossref","unstructured":"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\u2013562","DOI":"10.4028\/www.scientific.net\/AMM.411-414.559"},{"key":"9834_CR79","doi-asserted-by":"crossref","unstructured":"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\u201376\u200f","DOI":"10.5220\/0006688000650076"},{"key":"9834_CR80","doi-asserted-by":"crossref","unstructured":"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\u201376","DOI":"10.5220\/0006688000650076"},{"key":"9834_CR81","doi-asserted-by":"crossref","unstructured":"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\u201319","DOI":"10.1145\/2896982.2896991"},{"issue":"1","key":"9834_CR82","first-page":"84","volume":"3","author":"LU Majt\u00e1s","year":"2011","unstructured":"Majt\u00e1s LU (2011) Contribution to the creation and recognition of the design patterns instances. Inf Sci Technol Bull ACM Slovak 3(1):84\u201392","journal-title":"Inf Sci Technol Bull ACM Slovak"},{"key":"9834_CR83","volume-title":"Patterns for parallel programming","author":"TG Mattson","year":"2004","unstructured":"Mattson TG, Sanders B, Massingill B (2004) Patterns for parallel programming. Pearson Education, New York"},{"key":"9834_CR84","doi-asserted-by":"crossref","first-page":"211","DOI":"10.1016\/j.knosys.2017.01.007","volume":"120","author":"BB Mayvan","year":"2017","unstructured":"Mayvan BB, Rasoolzadegan A (2017) Design pattern detection based on the graph theory. Knowl Based Syst 120:211\u2013225","journal-title":"Knowl Based Syst"},{"key":"9834_CR85","doi-asserted-by":"crossref","unstructured":"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\u2013219","DOI":"10.1109\/CINTI.2015.7382925"},{"issue":"8","key":"9834_CR86","first-page":"597","volume":"22","author":"JKY Ng","year":"2010","unstructured":"Ng JKY, Gu\u00e9h\u00e9neuc YG, Antoniol G (2010) Identification of behavioural and creational design motifs through dynamic analysis. J Softw Evol Process 22(8):597\u2013627","journal-title":"J Softw Evol Process"},{"key":"9834_CR87","doi-asserted-by":"crossref","unstructured":"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\u2013121","DOI":"10.1109\/CONISOFT.2016.26"},{"key":"9834_CR88","doi-asserted-by":"crossref","unstructured":"Pande A, Gupta M, Tripathi AK (2010a) A new approach for detecting design patterns by graph decomposition and graph isomorphism. Contemporary computing, pp 108\u2013119","DOI":"10.1007\/978-3-642-14825-5_10"},{"key":"9834_CR89","doi-asserted-by":"crossref","unstructured":"Pande A, Gupta M, Tripathi AK (2010b) DNIT\u2014a new approach for design pattern detection. In: 2010 international conference on computer and communication technology (ICCCT). IEEE, pp 545\u2013550","DOI":"10.1109\/ICCCT.2010.5640471"},{"key":"9834_CR90","doi-asserted-by":"crossref","unstructured":"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\u2013564","DOI":"10.1007\/978-3-642-15766-0_95"},{"key":"9834_CR91","doi-asserted-by":"crossref","unstructured":"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\u20136","DOI":"10.1109\/ICIS.2016.7550771"},{"key":"9834_CR92","doi-asserted-by":"crossref","unstructured":"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\u2013294\u200f","DOI":"10.1109\/ICCKE.2012.6395394"},{"key":"9834_CR93","doi-asserted-by":"crossref","unstructured":"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\u2013213","DOI":"10.1109\/IC3.2015.7346680"},{"key":"9834_CR94","doi-asserted-by":"crossref","unstructured":"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\u201326","DOI":"10.1109\/NCETNRESEM.2014.7088733"},{"key":"9834_CR95","doi-asserted-by":"crossref","unstructured":"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\u2013359","DOI":"10.1007\/978-3-642-12145-6_36"},{"key":"9834_CR96","doi-asserted-by":"crossref","unstructured":"Rasool G, M\u00e4der 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\u2013252","DOI":"10.1109\/ASE.2011.6100060"},{"issue":"12","key":"9834_CR97","doi-asserted-by":"crossref","first-page":"8851","DOI":"10.1007\/s13369-014-1449-0","volume":"39","author":"G Rasool","year":"2014","unstructured":"Rasool G, M\u00e4der P (2014) A customizable approach to design patterns recognition based on feature types. Arab J Sci Eng 39(12):8851\u20138873","journal-title":"Arab J Sci Eng"},{"issue":"4","key":"9834_CR98","doi-asserted-by":"crossref","first-page":"519","DOI":"10.1016\/j.advengsoft.2009.10.014","volume":"41","author":"G Rasool","year":"2010","unstructured":"Rasool G, Philippow I, M\u00e4der P (2010) Design pattern recovery based on annotations. Adv Eng Softw 41(4):519\u2013526","journal-title":"Adv Eng Softw"},{"key":"9834_CR99","doi-asserted-by":"crossref","unstructured":"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","DOI":"10.1109\/CSAE.2012.6273011"},{"key":"9834_CR100","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1016\/j.infsof.2015.04.002","volume":"65","author":"M Riaz","year":"2015","unstructured":"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\u201338","journal-title":"Inf Softw Technol"},{"key":"9834_CR101","doi-asserted-by":"crossref","unstructured":"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","DOI":"10.5176\/2251-2195_CSEIT16.15"},{"key":"9834_CR102","doi-asserted-by":"crossref","unstructured":"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\u2013503","DOI":"10.1109\/ICSM.2011.6080818"},{"key":"9834_CR103","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/505282.505283","volume":"34","author":"F Sebastian","year":"2002","unstructured":"Sebastian F (2002) Machine learning in automated text categorization. J ACM Comput Surv (CSUR) 34:1\u201347","journal-title":"J ACM Comput Surv (CSUR)"},{"key":"9834_CR104","doi-asserted-by":"crossref","unstructured":"Stencel K, Wegrzynowicz P (2008) Detection of diverse design pattern variants. In: Software engineering conference, 2008, APSEC\u201908, 15th Asia-Pacific. IEEE, pp 25\u201332","DOI":"10.1109\/APSEC.2008.67"},{"key":"9834_CR105","doi-asserted-by":"crossref","unstructured":"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\u201353","DOI":"10.1109\/MiSE.2015.16"},{"key":"9834_CR106","doi-asserted-by":"crossref","unstructured":"Stoianov A, \u015eora 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\u2013258","DOI":"10.1109\/ICCCYB.2010.5491288"},{"key":"9834_CR107","doi-asserted-by":"crossref","unstructured":"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\u201321","DOI":"10.1109\/SANER.2019.8667978"},{"key":"9834_CR108","doi-asserted-by":"crossref","unstructured":"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\u2013701","DOI":"10.1109\/ICACCE.2015.100"},{"key":"9834_CR109","doi-asserted-by":"crossref","unstructured":"Thongrak M, Vatanawood W (2014) Detection of design pattern in class diagram using ontology. In: Computer science and engineering conference (ICSEC). IEEE, pp 97\u2013102","DOI":"10.1109\/ICSEC.2014.6978176"},{"key":"9834_CR110","unstructured":"Tramontana E (2014) Detecting extra relationships for design patterns roles. In: Proceedings of AsianPlop, Tokyo, Japan"},{"key":"9834_CR111","doi-asserted-by":"crossref","unstructured":"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\u20131643","DOI":"10.1109\/IADCC.2009.4809263"},{"issue":"11","key":"9834_CR112","doi-asserted-by":"crossref","first-page":"896","DOI":"10.1109\/TSE.2006.112","volume":"32","author":"N Tsantalis","year":"2006","unstructured":"Tsantalis N, Chatzigeorgiou A, Stephanides G, Halkidis ST (2006) Design pattern detection using similarity scoring. IEEE Trans Softw Eng 32(11):896\u2013909","journal-title":"IEEE Trans Softw Eng"},{"key":"9834_CR113","unstructured":"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"},{"issue":"12","key":"9834_CR114","doi-asserted-by":"crossref","first-page":"983","DOI":"10.4236\/jsea.2014.712086","volume":"7","author":"S Uchiyama","year":"2014","unstructured":"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","journal-title":"J Softw Eng Appl"},{"key":"9834_CR115","doi-asserted-by":"crossref","unstructured":"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\u201320","DOI":"10.1145\/2024569.2024573"},{"key":"9834_CR116","doi-asserted-by":"crossref","unstructured":"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\u2013QoSA and ACM SIGSOFT symposium\u2013ISARCS on quality of software architectures\u2013QoSA and architecting critical systems\u2013ISARCS. ACM, pp 23\u201332","DOI":"10.1145\/2000259.2000265"},{"key":"9834_CR117","unstructured":"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\u201319"},{"key":"9834_CR118","doi-asserted-by":"crossref","unstructured":"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\u201354","DOI":"10.1145\/2372233.2372248"},{"issue":"2\u20133","key":"9834_CR119","doi-asserted-by":"crossref","first-page":"53","DOI":"10.3233\/IFS-2012-0495","volume":"23","author":"Y Wang","year":"2012","unstructured":"Wang Y, Guo H, Liu H, Abraham A (2012b) A fuzzy matching approach for design pattern mining. J Intell Fuzzy Syst 23(2\u20133):53\u201360","journal-title":"J Intell Fuzzy Syst"},{"key":"9834_CR120","unstructured":"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\u20131578"},{"key":"9834_CR121","doi-asserted-by":"crossref","unstructured":"Wierda A, Dortmans E, Somers L (2008) Pattern detection in object-oriented source code. In: Software and data technologies. Springer, Berlin, pp 141\u2013158","DOI":"10.1007\/978-3-540-88655-6_11"},{"key":"9834_CR122","doi-asserted-by":"crossref","unstructured":"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\u2013588","DOI":"10.1109\/COMPSAC.2013.92"},{"key":"9834_CR123","doi-asserted-by":"crossref","unstructured":"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\u2013877","DOI":"10.1109\/ICSESS.2013.6615444"},{"key":"9834_CR124","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.jss.2015.01.019","volume":"103","author":"D Yu","year":"2015","unstructured":"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\u201316","journal-title":"J Syst Softw"},{"key":"9834_CR125","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1016\/j.jss.2018.04.015","volume":"142","author":"D Yu","year":"2018","unstructured":"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\u201356","journal-title":"J Syst Softw"},{"key":"9834_CR126","doi-asserted-by":"crossref","first-page":"102","DOI":"10.1016\/j.jss.2015.01.037","volume":"103","author":"M Zanoni","year":"2015","unstructured":"Zanoni M, Fontana FA, Stella F (2015) On applying machine learning techniques for design pattern detection. J Syst Softw 103:102\u2013117","journal-title":"J Syst Softw"},{"key":"9834_CR127","doi-asserted-by":"crossref","unstructured":"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\u2013188","DOI":"10.1109\/APSEC.2017.24"},{"key":"9834_CR128","doi-asserted-by":"crossref","unstructured":"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\u201909, vol. 1. IEEE, pp. 228\u2013233","DOI":"10.1109\/COMPSAC.2009.37"}],"container-title":["Artificial Intelligence Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10462-020-09834-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10462-020-09834-5\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10462-020-09834-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,19]],"date-time":"2021-04-19T23:30:21Z","timestamp":1618875021000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10462-020-09834-5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,4,20]]},"references-count":128,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2020,12]]}},"alternative-id":["9834"],"URL":"https:\/\/doi.org\/10.1007\/s10462-020-09834-5","relation":{},"ISSN":["0269-2821","1573-7462"],"issn-type":[{"value":"0269-2821","type":"print"},{"value":"1573-7462","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,4,20]]},"assertion":[{"value":"20 April 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}