{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,18]],"date-time":"2026-05-18T11:01:57Z","timestamp":1779102117168,"version":"3.51.4"},"reference-count":51,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2023,12,22]],"date-time":"2023-12-22T00:00:00Z","timestamp":1703203200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,12,22]],"date-time":"2023-12-22T00:00:00Z","timestamp":1703203200000},"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":[[2024,1]]},"DOI":"10.1007\/s10664-023-10427-3","type":"journal-article","created":{"date-parts":[[2023,12,22]],"date-time":"2023-12-22T12:02:47Z","timestamp":1703246567000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Supporting single responsibility through automated extract method refactoring"],"prefix":"10.1007","volume":"29","author":[{"given":"Alireza","family":"Ardalani","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4381-2773","authenticated-orcid":false,"given":"Saeed","family":"Parsa","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Morteza","family":"Zakeri-Nasrabadi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alexander","family":"Chatzigeorgiou","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,12,22]]},"reference":[{"key":"10427_CR1","unstructured":"Aho AV, Sethi R, Ullman JD (2007) Compilers: principles, techniques, and tools (vol 2). Addison-wesley Reading"},{"key":"10427_CR2","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2020.102475","volume":"195","author":"JPS Alcocer","year":"2020","unstructured":"Alcocer JPS, Antezana AS, Santos G, Bergel A (2020) Improving the success rate of applying the extract method refactoring. Sci Comput Program 195:102475","journal-title":"Sci Comput Program"},{"issue":"6","key":"10427_CR3","doi-asserted-by":"publisher","first-page":"788","DOI":"10.1109\/TSE.2010.97","volume":"37","author":"J Al Dallal","year":"2010","unstructured":"Al Dallal J (2010) Measuring the discriminative power of object-oriented class cohesion metrics. IEEE Trans Softw Eng 37(6):788\u2013804","journal-title":"IEEE Trans Softw Eng"},{"issue":"7","key":"10427_CR4","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/390013.808479","volume":"5","author":"FE Allen","year":"1970","unstructured":"Allen FE (1970) Control flow analysis. ACM Sigplan Not 5(7):1\u201319","journal-title":"Control flow analysis. ACM Sigplan Not"},{"key":"10427_CR5","doi-asserted-by":"crossref","unstructured":"Ampatzoglou A, Tsintzira A-A, Arvanitou E-M, Chatzigeorgiou A, Stamelos I, Moga A, . . . Kehagias D (2019) Applying the single responsibility principle in industry: modularity benefits and trade-offs. Proceedings of the evaluation and assessment on software engineering, pp 347\u2013352","DOI":"10.1145\/3319008.3320125"},{"key":"10427_CR6","doi-asserted-by":"publisher","first-page":"1143","DOI":"10.1007\/s10664-015-9378-4","volume":"21","author":"F Arcelli Fontana","year":"2016","unstructured":"Arcelli Fontana F, M\u00e4ntyl\u00e4 MV, Zanoni M, Marino A (2016) Comparing and experimenting machine learning techniques for code smell detection. Empir Softw Eng 21:1143\u20131191","journal-title":"Empir Softw Eng"},{"key":"10427_CR7","doi-asserted-by":"crossref","unstructured":"Brdar I, Vlajkov J, Slivka J, Gruji\u0107 K-G, Kova\u010devi\u0107 A (2022) Semi-supervised detection of long method and god class code smells. 2022 ieee 20th jubilee international symposium on intelligent systems and informatics (sisy), pp 403\u2013408","DOI":"10.1109\/SISY56759.2022.10036248"},{"issue":"10","key":"10427_CR8","doi-asserted-by":"publisher","first-page":"954","DOI":"10.1109\/TSE.2016.2645572","volume":"43","author":"S Charalampidou","year":"2016","unstructured":"Charalampidou S, Ampatzoglou A, Chatzigeorgiou A, Gkortzis A, Avgeriou P (2016) Identifying extract method refactoring opportunities based on functional relevance. IEEE Trans Softw Eng 43(10):954\u2013974","journal-title":"IEEE Trans Softw Eng"},{"key":"10427_CR9","doi-asserted-by":"crossref","unstructured":"Cheng BH, Sawyer P, Bencomo N, Whittle J (2009) A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. Model driven engineering languages and systems: 12th international conference, models 2009, Denver, CO, USA, October 4-9, 2009. Proceedings 12, pp 468\u2013483","DOI":"10.1007\/978-3-642-04425-0_36"},{"key":"10427_CR10","doi-asserted-by":"crossref","unstructured":"Cohen J (2013) Statistical power analysis for the behavioral sciences. Academic press","DOI":"10.4324\/9780203771587"},{"key":"10427_CR11","doi-asserted-by":"crossref","unstructured":"De Lucia A (2001) Program slicing: methods and applications. Proceedings first ieee international workshop on source code analysis and manipulation, pp 142\u2013149","DOI":"10.1109\/SCAM.2001.972675"},{"key":"10427_CR12","doi-asserted-by":"crossref","unstructured":"Fayad ME, Hamza H, S\u00e1nchez H (2003) A pattern for an effective class responsibility collaborator (crc) cards. Proceedings fifth ieee workshop on mobile computing systems and applications, pp 584\u2013587","DOI":"10.1109\/IRI.2003.1251469"},{"key":"10427_CR13","doi-asserted-by":"crossref","unstructured":"Fernandes S, Aguiar A, Restivo A (2022) A live environment to improve the refactoring experience. Companion proceedings of the 6th international conference on the art, science, and engineering of programming, pp 30\u201337","DOI":"10.1145\/3532512.3535222"},{"issue":"3","key":"10427_CR14","doi-asserted-by":"publisher","first-page":"319","DOI":"10.1145\/24039.24041","volume":"9","author":"J Ferrante","year":"1987","unstructured":"Ferrante J, Ottenstein KJ, Warren JD (1987) The program dependence graph and its use in optimization. ACM Trans Program Lang Syst (TOPLAS) 9(3):319\u2013349","journal-title":"ACM Trans Program Lang Syst (TOPLAS)"},{"key":"10427_CR15","doi-asserted-by":"crossref","unstructured":"Fontana FA, Ferme V, Zanoni M, Roveda R (2015) Towards a prioritization of code debt: a code smell intensity index. 2015 ieee 7th international workshop on managing technical debt (mtd), pp 16\u201324","DOI":"10.1109\/MTD.2015.7332620"},{"key":"10427_CR16","doi-asserted-by":"publisher","first-page":"43","DOI":"10.1016\/j.knosys.2017.04.014","volume":"128","author":"FA Fontana","year":"2017","unstructured":"Fontana FA, Zanoni M (2017) Code smell severity classification using machine learning techniques. Knowl-Based Syst 128:43\u201358","journal-title":"Knowl-Based Syst"},{"issue":"3\u20135","key":"10427_CR17","doi-asserted-by":"publisher","first-page":"75","DOI":"10.1016\/j.physrep.2009.11.002","volume":"486","author":"S Fortunato","year":"2010","unstructured":"Fortunato S (2010) Community detection in graphs. Phys Rep 486(3\u20135):75\u2013174","journal-title":"Phys Rep"},{"key":"10427_CR18","volume-title":"Refactoring: Improving the design of existing code","author":"M Fowler","year":"1999","unstructured":"Fowler M (1999) Refactoring: Improving the design of existing code. Addison-Wesley, Boston, MA, USA"},{"key":"10427_CR19","unstructured":"Fundation A (2011) Apache xerces-j 2. Retrieved from http:\/\/xerces.apache.org\/index.html"},{"key":"10427_CR20","unstructured":"Gilbert D (2017) Jfree chart. Retrieved from https:\/\/github.com\/jfree\/jfreechart"},{"key":"10427_CR21","unstructured":"Green P, Lane PC, Rainer A, Scholz S (2009) An introduction to slice-based cohesion and coupling metrics"},{"key":"10427_CR22","doi-asserted-by":"crossref","unstructured":"Hadj-Kacem M, Bouassida N (2018) A hybrid approach to detect code smells using deep learning. Enase 137\u2013146","DOI":"10.5220\/0006709801370146"},{"key":"10427_CR23","unstructured":"Han J, Kamber M, Pei J (2012) Data mining concepts and techniques third edition. University of Illinois at Urbana-Champaign Micheline Kamber Jian Pei Simon Fraser University"},{"key":"10427_CR24","doi-asserted-by":"publisher","first-page":"1798","DOI":"10.1007\/s10664-020-09809-8","volume":"25","author":"A Hora","year":"2020","unstructured":"Hora A, Robbes R (2020) Characteristics of method extractions in java: a large scale empirical study. Empir Softw Eng 25:1798\u20131833","journal-title":"Empir Softw Eng"},{"key":"10427_CR25","doi-asserted-by":"crossref","unstructured":"Hotta K, Higo Y, Kusumoto S (2012) Identifying, tailoring, and suggesting form template method refactoring opportunities with program dependence graph. 2012 16th European conference on software maintenance and reengineering, pp 53\u201362","DOI":"10.1109\/CSMR.2012.16"},{"key":"10427_CR26","unstructured":"Hubert J (2019) Implementation of an automatic extract method refactoring (Unpublished master\u2019s thesis)"},{"key":"10427_CR27","doi-asserted-by":"crossref","unstructured":"Komondoor R, Horwitz S (2000) Semantics-preserving procedure extraction. Proceedings of the 27th acm sigplan-sigact symposium on principles of programming languages, pp 155\u2013169","DOI":"10.1145\/325694.325713"},{"key":"10427_CR28","doi-asserted-by":"crossref","unstructured":"Lacerda G, Petrillo F, Pimenta M, Gu\u00e9h\u00e9neuc YG (2020) Code smells and refactoring: a tertiary systematic review of challenges and observations. J Syst Softw 167:110610","DOI":"10.1016\/j.jss.2020.110610"},{"key":"10427_CR29","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 Sci Bus Med"},{"issue":"5","key":"10427_CR30","doi-asserted-by":"publisher","first-page":"115","DOI":"10.1007\/s10664-022-10144-3","volume":"27","author":"M Lopes","year":"2022","unstructured":"Lopes M, Hora A (2022) How and why we end up with complex methods: a multi-language study. Empir Softw Eng 27(5):115","journal-title":"Empir Softw Eng"},{"key":"10427_CR31","unstructured":"Martin RC (2003) Agile software development: principles, patterns, and practices. Prentice Hall PTR"},{"key":"10427_CR32","unstructured":"Martin RC (2009) Clean code: a handbook of agile software craftsmanship. Pearson Education"},{"key":"10427_CR33","doi-asserted-by":"crossref","unstructured":"Maruyama K (2001) Automated method-extraction refactoring by using block-based slicing. Proceedings of the 2001 symposium on software reusability: putting software reuse in context, pp 31\u201340","DOI":"10.1145\/375212.375233"},{"issue":"7","key":"10427_CR34","doi-asserted-by":"publisher","first-page":"1766","DOI":"10.1587\/transinf.2017KBP0026","volume":"101","author":"P Meananeatra","year":"2018","unstructured":"Meananeatra P, Rongviriyapanish S, Apiwattanapong T (2018) Refactoring opportunity identification methodology for removing long method smells and improving code analyzability. IEICE Trans Inf Syst 101(7):1766\u20131779","journal-title":"IEICE Trans Inf Syst"},{"issue":"2","key":"10427_CR35","doi-asserted-by":"publisher","first-page":"126","DOI":"10.1109\/TSE.2004.1265817","volume":"30","author":"T Mens","year":"2004","unstructured":"Mens T, Tourw\u00e9 T (2004) A survey of software refactoring. IEEE Trans Softw Eng 30(2):126\u2013139","journal-title":"IEEE Trans Softw Eng"},{"key":"10427_CR36","doi-asserted-by":"crossref","unstructured":"Mkaouer MW, Kessentini M, Bechikh S, Cinn\u00e9ide \u00d3 M, Deb K (2016) On the use of many quality attributes for software refactoring: a many-objective search-based software engineering approach. Empir Softw Eng 21:2503\u20132545","DOI":"10.1007\/s10664-015-9414-4"},{"issue":"5","key":"10427_CR37","doi-asserted-by":"publisher","first-page":"429","DOI":"10.1109\/TSE.2017.2693982","volume":"44","author":"M Mongiovi","year":"2017","unstructured":"Mongiovi M, Gheyi R, Soares G, Ribeiro M, Borba P, Teixeira L (2017) Detecting overly strong preconditions in refactoring engines. IEEE Trans Softw Eng 44(5):429\u2013452","journal-title":"IEEE Trans Softw Eng"},{"key":"10427_CR38","doi-asserted-by":"crossref","unstructured":"Orailoglu A, Gajski DD (1986) Flow graph representation. Proceedings of the 23rd acm\/ieee design automation conference, pp 503\u2013509","DOI":"10.1109\/DAC.1986.1586135"},{"key":"10427_CR39","unstructured":"Ott LM, Thuss JJ (1993) Slice based metrics for estimating cohesion. [1993] proceedings first international software metrics symposium, pp 71\u201381"},{"issue":"5","key":"10427_CR40","doi-asserted-by":"publisher","first-page":"177","DOI":"10.1145\/390011.808263","volume":"19","author":"KJ Ottenstein","year":"1984","unstructured":"Ottenstein KJ, Ottenstein LM (1984) The program dependence graph in a software development environment. ACM SIGPLAN Not 19(5):177\u2013184","journal-title":"ACM SIGPLAN Not"},{"key":"10427_CR41","doi-asserted-by":"crossref","unstructured":"Palomba F, Panichella A, De Lucia A, Oliveto R, Zaidman A (2016) A textual-based technique for smell detection. 2016 ieee 24th international conference on program comprehension (icpc), pp 1\u201310","DOI":"10.1109\/ICPC.2016.7503704"},{"key":"10427_CR42","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2020.110693","volume":"169","author":"F Pecorelli","year":"2020","unstructured":"Pecorelli F, Di Nucci D, De Roover C, De Lucia A (2020) A large empirical assessment of the role of data balancing in machine-learning-based code smell detection. J Syst Softw 169:110693","journal-title":"J Syst Softw"},{"key":"10427_CR43","volume-title":"Clean architecture: a craftsman\u2019s guide to software structure and design","author":"M Robert","year":"2017","unstructured":"Robert M (2017) Clean architecture: a craftsman\u2019s guide to software structure and design. Prentice Hall"},{"key":"10427_CR44","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2022.111221","volume":"187","author":"M Shahidi","year":"2022","unstructured":"Shahidi M, Ashtiani M, Zakeri-Nasrabadi M (2022) An automated extract method refactoring approach to correct the long method code smell. J Syst Softw 187:111221","journal-title":"J Syst Softw"},{"key":"10427_CR45","doi-asserted-by":"crossref","unstructured":"Silva D, Terra R, Valente MT (2014). Recommending automated extract method refactorings. Proceedings of the 22nd international conference on program comprehension, pp 146\u2013156","DOI":"10.1145\/2597008.2597141"},{"key":"10427_CR46","doi-asserted-by":"crossref","unstructured":"Tiwari O, Joshi R (2022) Identifying extract method refactorings. 15th innovations in software engineering conference, pp 1\u201311","DOI":"10.1145\/3511430.3511435"},{"key":"10427_CR47","doi-asserted-by":"crossref","unstructured":"Tsantalis N, Chaikalis T, Chatzigeorgiou A (2018) Ten years of jdeodorant: lessons learned from the hunt for smells. 2018 ieee 25th international conference on software analysis, evolution and reengineering (saner), pp 4\u201314","DOI":"10.1109\/SANER.2018.8330192"},{"issue":"10","key":"10427_CR48","doi-asserted-by":"publisher","first-page":"1757","DOI":"10.1016\/j.jss.2011.05.016","volume":"84","author":"N Tsantalis","year":"2011","unstructured":"Tsantalis N, Chatzigeorgiou A (2011) Identification of extract method refactoring opportunities for the decomposition of methods. J Syst Softw 84(10):1757\u20131782","journal-title":"J Syst Softw"},{"key":"10427_CR49","unstructured":"Wakaito (2011). Weka 3: machine learning software in java. Retrieved from http:\/\/old-www.cms.waikato.ac.nz\/ml\/weka\/"},{"key":"10427_CR50","doi-asserted-by":"publisher","first-page":"352","DOI":"10.1109\/TSE.1984.5010248","volume":"4","author":"M Weiser","year":"1984","unstructured":"Weiser M (1984) Program slicing. IEEE Trans Softw Eng 4:352\u2013357","journal-title":"IEEE Trans Softw Eng"},{"key":"10427_CR51","doi-asserted-by":"crossref","unstructured":"Xu S, Sivaraman A, Khoo S-C, Xu J (2017) Gems: an extract method refactoring recommender. 2017 ieee 28th international symposium on software reliability engineering (issre), pp 24\u201334","DOI":"10.1109\/ISSRE.2017.35"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-023-10427-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-023-10427-3\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-023-10427-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,3,27]],"date-time":"2024-03-27T13:32:05Z","timestamp":1711546325000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-023-10427-3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,12,22]]},"references-count":51,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2024,1]]}},"alternative-id":["10427"],"URL":"https:\/\/doi.org\/10.1007\/s10664-023-10427-3","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,12,22]]},"assertion":[{"value":"22 November 2023","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"22 December 2023","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"This article does not contain any studies with human participants or animals performed by any of the authors.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethical Approval"}},{"value":"All of the authors declare that they have no conflict of interest.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of Interest"}}],"article-number":"28"}}