{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,30]],"date-time":"2026-03-30T15:08:50Z","timestamp":1774883330745,"version":"3.50.1"},"reference-count":55,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2025,12,29]],"date-time":"2025-12-29T00:00:00Z","timestamp":1766966400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2025,12,29]],"date-time":"2025-12-29T00:00:00Z","timestamp":1766966400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2026,5]]},"DOI":"10.1007\/s10664-025-10788-x","type":"journal-article","created":{"date-parts":[[2025,12,29]],"date-time":"2025-12-29T05:57:15Z","timestamp":1766987835000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["DPS: Design pattern summarisation using code features"],"prefix":"10.1007","volume":"31","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2317-2297","authenticated-orcid":false,"given":"Najam","family":"Nazar","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-7796-0008","authenticated-orcid":false,"given":"Sameer","family":"Sikka","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6919-2149","authenticated-orcid":false,"given":"Christoph","family":"Treude","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2025,12,29]]},"reference":[{"key":"10788_CR1","unstructured":"Allamanis M, Peng H, Sutton C (2016) A convolutional attention network for extreme summarization of source code. In: International conference on machine learning, pp. 2091\u20132100"},{"key":"10788_CR2","unstructured":"Baumgartner G, L\u00e4ufer K, Russo VF (2019) On the interaction of object-oriented design patterns and programming languages. arXiv:1905.13674"},{"key":"10788_CR3","doi-asserted-by":"crossref","unstructured":"Blagec K, Dorffner G, Moradi M, Ott S, Samwald M (2022) A global analysis of metrics used for measuring performance in natural language processing. arXiv:2204.11574","DOI":"10.18653\/v1\/2022.nlppower-1.6"},{"key":"10788_CR4","volume-title":"Design reverse-engineering and automated design-pattern detection in smalltalk","author":"K Brown","year":"1996","unstructured":"Brown K (1996) Design reverse-engineering and automated design-pattern detection in smalltalk. Tech. rep, USA"},{"key":"10788_CR5","doi-asserted-by":"crossref","unstructured":"Buse RP, Weimer WR (2010) Automatically documenting program changes. In: Proceedings of the 25th IEEE\/ACM international conference on automated software engineering, pp. 33\u201342","DOI":"10.1145\/1858996.1859005"},{"key":"10788_CR6","unstructured":"Carletta J (1996) Assessing agreement on classification tasks: the kappa statistic. arXiv:cmp-lg\/9602004"},{"issue":"9","key":"10788_CR7","doi-asserted-by":"publisher","first-page":"12663","DOI":"10.1007\/s11063-022-10835-4","volume":"55","author":"S Chauhan","year":"2023","unstructured":"Chauhan S, Daniel P (2023) A comprehensive survey on various fully automatic machine translation evaluation metrics. Neural Process Lett 55(9):12663\u201312717","journal-title":"Neural Process Lett"},{"key":"10788_CR8","doi-asserted-by":"publisher","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":"10788_CR9","doi-asserted-by":"crossref","unstructured":"Danilova A, Naiakshina A, Horstmann S, Smith M (2021) Do you really code? designing and evaluating screening questions for online surveys with programmers. In: 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE), pp. 537\u2013548. IEEE","DOI":"10.1109\/ICSE43902.2021.00057"},{"key":"10788_CR10","unstructured":"DE\u00a0LUCIA A, Deufemia V, Gravino C, Risi M, Tortora G et\u00a0al (2011) An eclipse plug-in for the identification of design pattern variants. In: Proceedings of the Sixth Italian Workshop of the Italian Eclipse Community, pp. 40\u201351. F. Arcelli"},{"key":"10788_CR11","doi-asserted-by":"crossref","unstructured":"Doddington G (2002) Automatic evaluation of machine translation quality using n-gram co-occurrence statistics. In: Proceedings of the second international conference on Human Language Technology Research, pp. 138\u2013145","DOI":"10.3115\/1289189.1289273"},{"key":"10788_CR12","doi-asserted-by":"crossref","unstructured":"Dong J, Sun Y, Zhao Y (2008) Compound record clustering algorithm for design pattern detection by decision tree learning. In: 2008 IEEE International Conference on Information Reuse and Integration, pp. 226\u2013231","DOI":"10.1109\/IRI.2008.4583034"},{"key":"10788_CR13","doi-asserted-by":"crossref","unstructured":"Eddine MK, Shang G, Tixier A, Vazirgiannis M (2022) Frugalscore: Learning cheaper, lighter and faster evaluation metrics for automatic text generation. In: Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 1305\u20131318","DOI":"10.18653\/v1\/2022.acl-long.93"},{"key":"10788_CR14","doi-asserted-by":"crossref","unstructured":"Eddy BP, Robinson JA, Kraft NA, Carver JC (2013) Evaluating source code summarization techniques: Replication and expansion. In: 2013 21st International Conference on Program Comprehension (ICPC), pp. 13\u201322. IEEE","DOI":"10.1109\/ICPC.2013.6613829"},{"key":"10788_CR15","doi-asserted-by":"crossref","unstructured":"Ferenc R, Beszedes A, Fulop L, Lele J (2005) Design pattern mining enhanced by machine learning. In: 21st IEEE International Conference on Software Maintenance (ICSM\u201905), pp. 295\u2013304","DOI":"10.1109\/ICSM.2005.40"},{"issue":"12","key":"10788_CR16","doi-asserted-by":"publisher","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":"10788_CR17","volume-title":"Design Patterns: Elements of Reusable Object-oriented Software","author":"E Gamma","year":"1995","unstructured":"Gamma E, Helm R, Johnson R, Vlissides J (1995) Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc, Boston, MA, USA"},{"key":"10788_CR18","doi-asserted-by":"crossref","unstructured":"Haiduc S, Aponte J, Marcus A (2010) Supporting program comprehension with source code summarization. In: Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering-Volume 2, pp. 223\u2013226","DOI":"10.1145\/1810295.1810335"},{"key":"10788_CR19","doi-asserted-by":"crossref","unstructured":"Haiduc S, Aponte J, Moreno L, Marcus A (2010) On the use of automated text summarization techniques for summarizing source code. In: 2010 17th Working conference on reverse engineering, pp. 35\u201344. IEEE","DOI":"10.1109\/WCRE.2010.13"},{"key":"10788_CR20","unstructured":"Hautam\u00e4ki J (2005) Pattern-based tool support for frameworks towards architecture-oriented software development environment. Tampere University of Technology (2005)"},{"key":"10788_CR21","doi-asserted-by":"crossref","unstructured":"Hu X, Li G, Xia X, Lo D, Lu S, Jin Z (2018) Summarizing source code with transferred api knowledge. Ph.D. thesis","DOI":"10.24963\/ijcai.2018\/314"},{"key":"10788_CR22","doi-asserted-by":"publisher","first-page":"256","DOI":"10.1016\/j.jpdc.2017.06.022","volume":"117","author":"S Hussain","year":"2018","unstructured":"Hussain S, Keung J, Khan AA, Ahmad A, Cuomo S, Piccialli F, Jeon G, Akhunzada A (2018) Implications of deep learning for the automation of design patterns organization. Journal of Parallel and Distributed Computing 117:256\u2013266","journal-title":"Journal of Parallel and Distributed Computing"},{"key":"10788_CR23","doi-asserted-by":"crossref","unstructured":"Iyer S, Konstas I, Cheung A, Zettlemoyer L (2016) Summarizing source code using a neural attention model. In: 54th Annual Meeting of the Association for Computational Linguistics 2016, pp. 2073\u20132083. Association for Computational Linguistics","DOI":"10.18653\/v1\/P16-1195"},{"key":"10788_CR24","doi-asserted-by":"crossref","unstructured":"Jiang S, Armaly A, McMillan C (2017) Automatically generating commit messages from diffs using neural machine translation. In: 2017 32nd IEEE\/ACM International Conference on Automated Software Engineering (ASE), pp. 135\u2013146. IEEE","DOI":"10.1109\/ASE.2017.8115626"},{"key":"10788_CR25","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/s10664-020-09900-0","volume":"26","author":"ZA Kermansaravi","year":"2021","unstructured":"Kermansaravi ZA, Rahman MS, Khomh F, Jaafar F, Gu\u00e9h\u00e9neuc YG (2021) Investigating design anti-pattern and design pattern mutations and their change-and fault-proneness. Empir Softw Eng 26:1\u201347","journal-title":"Empir Softw Eng"},{"key":"10788_CR26","doi-asserted-by":"crossref","unstructured":"Kuchana P (2004) Software architecture design patterns in Java. CRC Press (2004)","DOI":"10.1201\/9780203496213"},{"key":"10788_CR27","unstructured":"Lanza M, Marinescu R (2007) Object-oriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer Science & Business Media"},{"key":"10788_CR28","doi-asserted-by":"crossref","unstructured":"Liu Z, Xia X, Treude C, Lo D, Li S (2019) Automatic generation of pull request descriptions. In: 2019 34th IEEE\/ACM International Conference on Automated Software Engineering (ASE), pp. 176\u2013188. IEEE","DOI":"10.1109\/ASE.2019.00026"},{"key":"10788_CR29","doi-asserted-by":"crossref","unstructured":"Makharev V, Ivanov V (2025) Code summarization beyond function level. In: 2025 IEEE\/ACM International Workshop on Large Language Models for Code (LLM4Code), pp. 153\u2013160. IEEE","DOI":"10.1109\/LLM4Code66737.2025.00024"},{"key":"10788_CR30","doi-asserted-by":"crossref","unstructured":"McBurney PW, McMillan C (2014) Automatic documentation generation via source code summarization of method context. In: Proceedings of the 22nd International Conference on Program Comprehension, pp. 279\u2013290","DOI":"10.1145\/2597008.2597149"},{"key":"10788_CR31","doi-asserted-by":"crossref","unstructured":"Moreno L, Marcus A (2012) Jstereocode: automatically identifying method and class stereotypes in java code. In: Proceedings of the 27th IEEE\/ACM International Conference on Automated Software Engineering, pp. 358\u2013361","DOI":"10.1145\/2351676.2351747"},{"key":"10788_CR32","doi-asserted-by":"crossref","unstructured":"Moreno L, Marcus A, Pollock L, Vijay-Shanker K (2013) Jsummarizer: An automatic generator of natural language summaries for java classes. In: 2013 21st International Conference on Program Comprehension (ICPC), pp. 230\u2013232. IEEE","DOI":"10.1109\/ICPC.2013.6613855"},{"key":"10788_CR33","unstructured":"Movshovitz-Attias D, Cohen W (2013) Natural language models for predicting programming comments. In: Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), pp. 35\u201340"},{"key":"10788_CR34","doi-asserted-by":"publisher","first-page":"504","DOI":"10.1007\/s11704-015-4409-2","volume":"10","author":"N Nazar","year":"2016","unstructured":"Nazar N, Jiang H, Gao G, Zhang T, Li X, Ren Z (2016) Source code fragment summarization with small-scale crowdsourcing based features. Front Comp Sci 10:504\u2013517","journal-title":"Front Comp Sci"},{"key":"10788_CR35","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2021.111179","volume":"185","author":"N Nazar","year":"2022","unstructured":"Nazar N, Aleti A, Zheng Y (2022) Feature-based software design pattern detection. J Syst Softw 185:111179","journal-title":"J Syst Softw"},{"issue":"07","key":"10788_CR36","doi-asserted-by":"publisher","first-page":"993","DOI":"10.1142\/S0218194023500213","volume":"33","author":"N Nazar","year":"2023","unstructured":"Nazar N, Chen N, Chong CY (2023) Codelabeller: A web-based code annotation tool for java design patterns and summaries. Int J Software Eng Knowl Eng 33(07):993\u20131009","journal-title":"Int J Software Eng Knowl Eng"},{"key":"10788_CR37","doi-asserted-by":"crossref","unstructured":"Niere J, Sch\u00e4fer W, Wadsack JP, Wendehals L, Welsh J (2002) Towards pattern-based design recovery. In: Proceedings of the 24th international conference on Software engineering, pp. 338\u2013348","DOI":"10.1145\/581380.581382"},{"key":"10788_CR38","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), pp. 1\u20136. IEEE","DOI":"10.1109\/ICIS.2016.7550771"},{"key":"10788_CR39","doi-asserted-by":"crossref","unstructured":"Phillips J, Bowes D, El-Haj M, Hall T (2022) Improved evaluation of automatic source code summarisation. In: Proceedings of the 2nd Workshop on Natural Language Generation, Evaluation, and Metrics (GEM), pp. 326\u2013335","DOI":"10.18653\/v1\/2022.gem-1.28"},{"key":"10788_CR40","unstructured":"ProFocus Technology (2025) The over-engineering problem and how to avoid it. https:\/\/www.profocustechnology.com\/software-development\/the-over-engineering-problem-and-how-to-avoid-it\/. [Accessed: Jan. 10, 2025]"},{"key":"10788_CR41","doi-asserted-by":"crossref","unstructured":"Shi N, Olsson RA (2006) Reverse engineering of design patterns from java source code. In: 21st IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201906), pp. 123\u2013134","DOI":"10.1109\/ASE.2006.57"},{"key":"10788_CR42","unstructured":"Shvets A (2021) Dive into design patterns. https:\/\/refactoring.guru\/design-patterns\/book. Accessed: Jan. 19, 2025"},{"key":"10788_CR43","doi-asserted-by":"crossref","unstructured":"Sridhara G, Hill E, Muppaneni D, Pollock L, Vijay-Shanker K (2010) Towards automatically generating summary comments for java methods. In: Proceedings of the 25th IEEE\/ACM international conference on Automated software engineering, pp. 43\u201352","DOI":"10.1145\/1858996.1859006"},{"key":"10788_CR44","doi-asserted-by":"crossref","unstructured":"Sridhara G, Pollock L, Vijay-Shanker K (2011) Automatically detecting and describing high level actions within methods. In: Proceedings of the 33rd International Conference on Software Engineering, pp. 101\u2013110","DOI":"10.1145\/1985793.1985808"},{"key":"10788_CR45","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\u2013217","DOI":"10.1109\/SANER.2019.8667978"},{"key":"10788_CR46","doi-asserted-by":"crossref","unstructured":"Thongrak M, Vatanawood W (2014) Detection of design pattern in class diagram using ontology. In: 2014 International Computer Science and Engineering Conference (ICSEC), pp. 97\u2013102. IEEE","DOI":"10.1109\/ICSEC.2014.6978176"},{"key":"10788_CR47","first-page":"89","volume":"2009","author":"C Tosi","year":"2009","unstructured":"Tosi C, Zanoni M, Maggioni S (2009) A design pattern detection plugin for eclipse. Eclipse-IT 2009:89","journal-title":"Eclipse-IT"},{"key":"10788_CR48","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.\u00a038"},{"issue":"1","key":"10788_CR49","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1049\/iet-sen.2018.5446","volume":"14","author":"F Wedyan","year":"2020","unstructured":"Wedyan F, Abufakher S (2020) Impact of design patterns on software quality: a systematic literature review. IET Software 14(1):1\u201317","journal-title":"IET Software"},{"key":"10788_CR50","doi-asserted-by":"crossref","unstructured":"Wong E, Liu T, Tan L (2015) Clocom: Mining existing source code for automatic comment generation. In: 2015 IEEE 22nd International conference on software analysis, evolution, and reengineering (SANER), pp. 380\u2013389. IEEE","DOI":"10.1109\/SANER.2015.7081848"},{"key":"10788_CR51","doi-asserted-by":"crossref","unstructured":"Wong E, Yang J, Tan L (2013) Autocomment: Mining question and answer sites for automatic comment generation. In: 2013 28th IEEE\/ACM International Conference on Automated Software Engineering (ASE), pp. 562\u2013567. IEEE","DOI":"10.1109\/ASE.2013.6693113"},{"key":"10788_CR52","doi-asserted-by":"crossref","unstructured":"Ying AT, Robillard MP (2013) Code fragment summarization. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 655\u2013658","DOI":"10.1145\/2491411.2494587"},{"key":"10788_CR53","doi-asserted-by":"publisher","first-page":"102","DOI":"10.1016\/j.jss.2015.01.037","volume":"103","author":"M Zanoni","year":"2015","unstructured":"Zanoni M, Arcelli Fontana F, Stella F (2015) On applying machine learning techniques for design pattern detection. J Syst Softw 103:102\u2013117","journal-title":"J Syst Softw"},{"key":"10788_CR54","doi-asserted-by":"crossref","unstructured":"Zhang H, Liu S (2013) Java source code static check eclipse plug-in based on common design pattern. In: 2013 Fourth World Congress on Software Engineering, pp. 165\u2013170. IEEE","DOI":"10.1109\/WCSE.2013.30"},{"key":"10788_CR55","doi-asserted-by":"crossref","unstructured":"Zhang S, Zhang C, Ernst MD (2011) Automated documentation inference to explain failed tests. In: 2011 26th IEEE\/ACM International Conference on Automated Software Engineering (ASE 2011), pp. 63\u201372. IEEE","DOI":"10.1109\/ASE.2011.6100145"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-025-10788-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-025-10788-x","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-025-10788-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,3,30]],"date-time":"2026-03-30T14:37:36Z","timestamp":1774881456000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-025-10788-x"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,12,29]]},"references-count":55,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2026,5]]}},"alternative-id":["10788"],"URL":"https:\/\/doi.org\/10.1007\/s10664-025-10788-x","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,12,29]]},"assertion":[{"value":"15 April 2025","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"2 December 2025","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"29 December 2025","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors have no conflicts of interest to declare relevant to this paper\u2019s content.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflicts of interest"}},{"value":"Not Applicable","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethical Approval"}},{"value":"All participants provided informed consent before taking part in this research.","order":4,"name":"Ethics","group":{"name":"EthicsHeading","label":"Informed Consent"}},{"value":"Not Applicable","order":5,"name":"Ethics","group":{"name":"EthicsHeading","label":"Clinical trial number"}}],"article-number":"53"}}