{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,7]],"date-time":"2025-11-07T13:35:42Z","timestamp":1762522542551,"version":"3.37.3"},"reference-count":55,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2020,11,20]],"date-time":"2020-11-20T00:00:00Z","timestamp":1605830400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2020,11,20]],"date-time":"2020-11-20T00:00:00Z","timestamp":1605830400000},"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":["Soft Comput"],"published-print":{"date-parts":[[2021,3]]},"DOI":"10.1007\/s00500-020-05443-0","type":"journal-article","created":{"date-parts":[[2020,11,20]],"date-time":"2020-11-20T15:05:03Z","timestamp":1605884703000},"page":"4295-4325","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":13,"title":["A fuzzy genetic automatic refactoring approach to improve software maintainability and flexibility"],"prefix":"10.1007","volume":"25","author":[{"given":"Raana","family":"Saheb Nasagh","sequence":"first","affiliation":[]},{"given":"Mahnoosh","family":"Shahidi","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4574-1545","authenticated-orcid":false,"given":"Mehrdad","family":"Ashtiani","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,11,20]]},"reference":[{"key":"5443_CR1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-10674-4","volume-title":"Feature selection and enhanced krill herd algorithm for text document clustering","author":"LM Abualigah","year":"2019","unstructured":"Abualigah LM (2019) Feature selection and enhanced krill herd algorithm for text document clustering. Springer, Berlin"},{"issue":"11","key":"5443_CR2","doi-asserted-by":"publisher","first-page":"4047","DOI":"10.1007\/s10489-018-1190-6","volume":"48","author":"LM Abualigah","year":"2018","unstructured":"Abualigah LM, Khader AT, Hanandeh ES (2018) Hybrid clustering analysis using improved krill herd algorithm. Appl Intell 48(11):4047\u20134071","journal-title":"Appl Intell"},{"issue":"5","key":"5443_CR3","first-page":"1","volume":"11","author":"F Arcelli Fontana","year":"2012","unstructured":"Arcelli Fontana F, Braione P, Zanoni M (2012) Automatic detection of bad smells in code: an experimental assessment. J Object Technol 11(5):1\u201338","journal-title":"J Object Technol"},{"key":"5443_CR4","doi-asserted-by":"crossref","unstructured":"Arcelli F, Zanoni M, Marino A, M\u00e4ntyl\u00e4 MV (2013) Code smell detection: towards a machine learning-based approach. In: Proceedings of the 2013 IEEE international conference on software maintenance, September 2013, Eindhoven, The Netherlands, pp 396\u2013399","DOI":"10.1109\/ICSM.2013.56"},{"key":"5443_CR5","doi-asserted-by":"publisher","first-page":"115","DOI":"10.1016\/j.infsof.2018.12.009","volume":"108","author":"MI Azeem","year":"2019","unstructured":"Azeem MI, Palomba F, Shi L, Wang Q (2019) Machine learning techniques for code smell detection: a systematic literature review and meta-analysis. Inf Softw Technol 108:115\u2013138","journal-title":"Inf Softw Technol"},{"issue":"3","key":"5443_CR6","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1016\/j.knosys.2017.01.007","volume":"120","author":"B Bafandeh Mayvan","year":"2017","unstructured":"Bafandeh Mayvan B, Rasoolzadegan A (2017) Design pattern detection based on the graph theory. Knowl Based Syst 120(3):211\u2013225","journal-title":"Knowl Based Syst"},{"key":"5443_CR7","doi-asserted-by":"crossref","unstructured":"Bagga J, Heinz A (2002) A Java-based system for drawing graphs and running graph algorithms. Int Sympos Graph Drawing, February-2002, Berlin, Heidelberg, pp 459\u2013460","DOI":"10.1007\/3-540-45848-4_45"},{"issue":"7","key":"5443_CR8","doi-asserted-by":"publisher","first-page":"663","DOI":"10.1016\/S1383-7621(01)00022-4","volume":"47","author":"R Bandyopadhyay","year":"2001","unstructured":"Bandyopadhyay R, Chakraborty UK, Patranabis D (2001) Auto tuning a PID controller: a fuzzy-genetic approach. J Syst Architect 47(7):663\u2013673","journal-title":"J Syst Architect"},{"key":"5443_CR9","doi-asserted-by":"publisher","first-page":"422","DOI":"10.1016\/j.physa.2017.02.085","volume":"479","author":"T Bian","year":"2017","unstructured":"Bian T, Hu J, Deng Y (2017) Identifying influential nodes in complex networks based on AHP. Phys Statistic Mech Appl 479:422\u2013436","journal-title":"Phys Statistic Mech Appl"},{"key":"5443_CR10","doi-asserted-by":"crossref","unstructured":"Boukhdhir A, Kessentini M, Bechikh S, Dea J, Ben-Said L (2014) On the use of machine learning and search-based software engineering for ill-defined fitness function: a case study on software refactoring. In: Proceedings of the international symposium on search-based software engineering, pp 31\u201345. Springer, Cham","DOI":"10.1007\/978-3-319-09940-8_3"},{"issue":"2","key":"5443_CR11","doi-asserted-by":"publisher","first-page":"136","DOI":"10.1016\/j.socnet.2007.11.001","volume":"30","author":"U Brandes","year":"2008","unstructured":"Brandes U (2008) On variants of shortest-path betweenness centrality and their generic computation. Soc Netw 30(2):136\u2013145","journal-title":"Soc Netw"},{"issue":"9","key":"5443_CR12","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1109\/MSPEC.2005.1502528","volume":"42","author":"RN Charette","year":"2005","unstructured":"Charette RN (2005) Why software fails [software failure]. IEEE Spectr 42(9):42\u201349","journal-title":"IEEE Spectr"},{"key":"5443_CR13","doi-asserted-by":"publisher","first-page":"28","DOI":"10.1016\/j.jss.2017.08.017","volume":"133","author":"CY Chong","year":"2017","unstructured":"Chong CY, Lee SP (2017) Automatic Clustering constraints derivation from object-oriented software using the weighted complex network with graph theory analysis. J Syst Softw 133:28\u201353","journal-title":"J Syst Softw"},{"key":"5443_CR14","doi-asserted-by":"crossref","unstructured":"Dooley J (2011) Object-oriented design principles. Software Development and Professional Practice, Apress, pp 115\u2013136","DOI":"10.1007\/978-1-4302-3802-7_10"},{"issue":"3","key":"5443_CR15","doi-asserted-by":"publisher","first-page":"1143","DOI":"10.1007\/s10664-015-9378-4","volume":"21","author":"F Fontana","year":"2016","unstructured":"Fontana F, M\u00e4ntyl\u00e4 F, Zanoni MV, Marino A (2016) Comparing and experimenting machine learning techniques for code smell detection. Empirical Softw Eng 21(3):1143\u20131191","journal-title":"Empirical Softw Eng"},{"key":"5443_CR16","volume-title":"Refactoring: Improving the design of existing code, MA","author":"M Fowler","year":"1999","unstructured":"Fowler M, Beck K, Brant J, Opdyke W, Roberts D (1999) Refactoring: Improving the design of existing code, MA. Addison Wesley, USA"},{"issue":"3","key":"5443_CR17","doi-asserted-by":"publisher","first-page":"215","DOI":"10.1016\/0378-8733(78)90021-7","volume":"1","author":"LC Freeman","year":"1979","unstructured":"Freeman LC (1979) Centrality in networks: conceptual clarification. Soc Netw 1(3):215\u2013239","journal-title":"Soc Netw"},{"key":"5443_CR18","unstructured":"FreeMind\u2014free mind mapping software. http:\/\/freemind.sourceforge.net\/wiki\/index.php\/Main_page. Accessed 10 July, 2019"},{"issue":"4","key":"5443_CR19","doi-asserted-by":"publisher","first-page":"e1916","DOI":"10.1002\/smr.1916","volume":"30","author":"A Ghannem","year":"2018","unstructured":"Ghannem A, Kessentini M, Hamdi MS, El Boussaidi (2018) Model refactoring by example: a multi objective search based software engineering approach. J Softw Evolut Process 30(4):e1916","journal-title":"J Softw Evolut Process"},{"issue":"27","key":"5443_CR20","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1103\/PhysRevLett.87.278701","volume":"87","author":"K Goh","year":"2001","unstructured":"Goh K, Kahng B, Kim D (2001) Universal behavior of load distribution in scale-free networks. Phys Rev Lett 87(27):1\u20134","journal-title":"Phys Rev Lett"},{"issue":"8","key":"5443_CR21","doi-asserted-by":"publisher","first-page":"3551","DOI":"10.1007\/s13369-017-2588-x","volume":"42","author":"A Gu","year":"2017","unstructured":"Gu A, Zhou X, Li Z, Li Q, Li L (2017) Measuring object-oriented class cohesion based on complex networks. Arab J Sci Eng 42(8):3551\u20133561","journal-title":"Arab J Sci Eng"},{"issue":"1","key":"5443_CR22","first-page":"16","volume":"7","author":"S Gurpreet","year":"2013","unstructured":"Gurpreet S, Chopra V (2013) A study of bad smells in code. Int J Sci Technol Latest Trends 7(1):16\u201320","journal-title":"Int J Sci Technol Latest Trends"},{"issue":"28","key":"5443_CR23","first-page":"186","volume":"2","author":"K Hemalatha","year":"2016","unstructured":"Hemalatha K, AnandaRao A, RadhikaRaju A, Ramesh G (2016) Detection of code-smells by using particle swarm optimization technique (PSO). South Asian J Eng Technol 2(28):186\u2013195","journal-title":"South Asian J Eng Technol"},{"key":"5443_CR24","unstructured":"Huaxin M, Shuai J (2011) Design patterns in software development. In: Proceedings of the 2011 IEEE 2nd international conference on software engineering and service science, July 2011, Beijing, China"},{"key":"5443_CR25","unstructured":"JAG Java Application Generator (2019) https:\/\/java-source.net\/open-source\/j2ee-frameworks\/jag-java-application-generator. Accessed 13 July, 2019"},{"issue":"10","key":"5443_CR26","first-page":"1","volume":"9","author":"K Jaspreet","year":"2016","unstructured":"Jaspreet K, Satwinder S (2016) Neural network-based refactoring area identification in software system with object-oriented metrics. Indian J Sci Technol 9(10):1\u20138","journal-title":"Indian J Sci Technol"},{"key":"5443_CR27","unstructured":"Java call graph utilities (2018) https:\/\/github.com\/gousiosg\/java-callgraph. Accessed 24 November 2018"},{"issue":"12","key":"5443_CR28","doi-asserted-by":"publisher","first-page":"2587","DOI":"10.1016\/j.ins.2007.01.021","volume":"177","author":"S Jenkins","year":"2007","unstructured":"Jenkins S, Kirk S (2007) Software architecture graphs as complex networks: a novel partitioning scheme to measure stability and evolution. Inf Sci 177(12):2587\u20132601","journal-title":"Inf Sci"},{"key":"5443_CR29","unstructured":"Johann E, Kappel G, Schrefl M (1994) Coupling and cohesion in object-oriented systems. Technical Report, University of Klagenfurt"},{"key":"5443_CR30","first-page":"1","volume":"9","author":"J Kaur","year":"2016","unstructured":"Kaur J, Singh S (2016) Neural network based refactoring area identification in software system with object oriented metrics. Indian J Sci Technol 9:1\u20138","journal-title":"Indian J Sci Technol"},{"issue":"3","key":"5443_CR31","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1016\/j.infsof.2017.03.009","volume":"88","author":"S Kebir","year":"2017","unstructured":"Kebir S, Borne I, Meslati D (2017) A genetic algorithm-based approach for automated refactoring of component-based software. Inf Softw Technol 88(3):17\u201336","journal-title":"Inf Softw Technol"},{"key":"5443_CR32","first-page":"3613","volume":"7","author":"DK Kim","year":"2017","unstructured":"Kim DK (2017) Finding bad code smells with neural network models. Int J Electr Comput Eng 7:3613\u20133621","journal-title":"Int J Electr Comput Eng"},{"issue":"2","key":"5443_CR33","doi-asserted-by":"publisher","first-page":"473","DOI":"10.1007\/s11219-015-9284-4","volume":"25","author":"U Mansoor","year":"2017","unstructured":"Mansoor U, Kessentini M, Wimmer M, Deb K (2017) Multi-view refactoring of class and activity diagrams using a multi-objective evolutionary algorithm. Software Qual J 25(2):473\u2013501","journal-title":"Software Qual J"},{"key":"5443_CR34","unstructured":"Marinescu C, Marinescu R, Mihancea PF, Ratiu D, Wettel R (2005) iPlasma: an integrated platform for quality assessment of object-oriented design. In: Proceedings of the ICSM conference, 2005, Budapest, Hungary pp 77\u201380"},{"key":"5443_CR35","doi-asserted-by":"publisher","first-page":"110","DOI":"10.1016\/j.jss.2014.02.053","volume":"93","author":"H Masoud","year":"2014","unstructured":"Masoud H, Jalili S (2014) A clustering-based model for class responsibility assignment problem in object-oriented analysis. J Syst Softw 93:110\u2013131","journal-title":"J Syst Softw"},{"issue":"3","key":"5443_CR36","doi-asserted-by":"publisher","first-page":"345","DOI":"10.1109\/5.364485","volume":"83","author":"J Mendel","year":"1995","unstructured":"Mendel J (1995) Fuzzy logic systems for engineering: a tutorial. Proc IEEE 83(3):345\u2013377","journal-title":"Proc IEEE"},{"key":"5443_CR37","unstructured":"UML modeling (2018) https:\/\/www.visual-paradigm.com\/tutorials\/. Accessed 10 October 2018"},{"key":"5443_CR38","doi-asserted-by":"crossref","unstructured":"Negara S et al. (2013) A comparative study of manual and automated refactoring. In: Proceedings of the European conference on object-oriented programming, Springer, Berlin, Heidelberg","DOI":"10.1007\/978-3-642-39038-8_23"},{"key":"5443_CR39","doi-asserted-by":"publisher","first-page":"e1843","DOI":"10.1002\/smr.1843","volume":"29","author":"A Ouni","year":"2017","unstructured":"Ouni A, Kessentini M, Cinn\u00e9ide M\u00d3, Sahraoui H (2017) MORE: A multi-objective refactoring recommendation approach to introducing design patterns and fixing code smells. J Softw Evolut Process 29:e1843","journal-title":"J Softw Evolut Process"},{"key":"5443_CR40","unstructured":"Overview of NetworkX (2019) https:\/\/networkx.github.io\/documentation\/. Accessed 20 February, 2019"},{"key":"5443_CR41","doi-asserted-by":"crossref","unstructured":"Pecorelli F, Palomba F, Di Nucci D, De Lucia A (2019) Comparing heuristic and machine learning approaches for metric-based code smell detection. In: Proceedings of the 27th international conference on program comprehension, Piscataway, New York, USA, 2019 May 25, pp 93\u2013104","DOI":"10.1109\/ICPC.2019.00023"},{"key":"5443_CR42","unstructured":"Refactoring (2019) https:\/\/refactoring.guru\/refactoring. Accessed 7 February 2019"},{"key":"5443_CR43","unstructured":"Riel AJ (1996) Object-oriented design heuristics. Addison-Wesley Reading, vol 338"},{"issue":"11","key":"5443_CR44","doi-asserted-by":"publisher","first-page":"1055","DOI":"10.1007\/s00607-017-0549-6","volume":"99","author":"M Savi\u0107","year":"2017","unstructured":"Savi\u0107 M, Ivanovi\u0107 M, Radovanovi\u0107 M (2017) Analysis of high structural class coupling in object-oriented software systems. Computing 99(11):1055\u20131079","journal-title":"Computing"},{"key":"5443_CR45","doi-asserted-by":"crossref","unstructured":"Sharma T, Samarthyam G, Suryanarayana G (2015) Applying design principles in practice. In: Proceedings of the 8th India software conference, February 2015, Bangalore, India, pp 200\u2013102","DOI":"10.1145\/2723742.2723764"},{"key":"5443_CR46","doi-asserted-by":"crossref","unstructured":"Snyder A (1986) Encapsulation and inheritance in object-oriented programming languages. In: Proceedings on object-oriented programming systems, languages and applications conference, Portland, USA, pp 38\u201345","DOI":"10.1145\/28697.28702"},{"issue":"3","key":"5443_CR47","doi-asserted-by":"publisher","first-page":"10","DOI":"10.1109\/52.2020","volume":"5","author":"B Stroustrup","year":"1988","unstructured":"Stroustrup B (1988) What is object-oriented programming? IEEE Softw 5(3):10\u201320","journal-title":"IEEE Softw"},{"key":"5443_CR48","first-page":"2095","volume":"7","author":"H Subramaniam","year":"2012","unstructured":"Subramaniam H, Zulzalil H (2012) Software quality assessment using flexibility: a systematic literature review. Int Rev Comput Softw 7:2095\u20132099","journal-title":"Int Rev Comput Softw"},{"key":"5443_CR49","unstructured":"Wampler D (2007) Aspect-oriented design principles: lessons from object-oriented design. In: Proceedings of the 6th international conference on aspect-oriented software development, March 2007, Vancouver, British Columbia, Canada"},{"issue":"3","key":"5443_CR50","doi-asserted-by":"publisher","first-page":"202","DOI":"10.1109\/TSE.2017.2679752","volume":"44","author":"Y Wang","year":"2017","unstructured":"Wang Y, Yu H, Zhu Z, Zhang W, Zhao Y (2017) Automatic software refactoring via weighted clustering in method-level networks. IEEE Trans Softw Eng 44(3):202\u2013236","journal-title":"IEEE Trans Softw Eng"},{"key":"5443_CR51","unstructured":"What are genetic algorithms? (2019) https:\/\/www.tutorialspoint.com\/genetic_algorithms\/genetic_algorithms_quick_guide.htm. Accessed 11 July, 2019"},{"key":"5443_CR52","unstructured":"Wirfs-Brock R, McKean A (2003) Object design: roles, responsibilities, and collaborations. Addison-Wesley Professional"},{"key":"5443_CR53","doi-asserted-by":"crossref","unstructured":"Yamashita A (2013) How good are code smells for evaluating software maintainability? Results from a comparative case study. In: Proceedings of the 2013 IEEE international conference on software maintenance, 2013, Netherland, Eindhoven, pp 566\u2013571","DOI":"10.1109\/ICSM.2013.97"},{"issue":"19","key":"5443_CR54","doi-asserted-by":"publisher","first-page":"5621","DOI":"10.1007\/s00500-016-2303-y","volume":"21","author":"F Yu","year":"2017","unstructured":"Yu F, Xia X, Li W, Tao J, Ma L, Cai Z (2017) Critical node identification for complex network based on a novel minimum connected dominating set. Soft Comput 21(19):5621\u20135629","journal-title":"Soft Comput"},{"key":"5443_CR55","doi-asserted-by":"crossref","unstructured":"Zadeh LA (1976) A fuzzy-algorithmic approach to the definition of complex or imprecise concepts. In: Proceedings of the systems theory in the social sciences: interdisciplinary systems research, Birkh\u00e4user, Basel, pp 202\u2013282","DOI":"10.1007\/978-3-0348-5495-5_11"}],"container-title":["Soft Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00500-020-05443-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00500-020-05443-0\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00500-020-05443-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,28]],"date-time":"2024-10-28T15:12:26Z","timestamp":1730128346000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00500-020-05443-0"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,11,20]]},"references-count":55,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2021,3]]}},"alternative-id":["5443"],"URL":"https:\/\/doi.org\/10.1007\/s00500-020-05443-0","relation":{},"ISSN":["1432-7643","1433-7479"],"issn-type":[{"type":"print","value":"1432-7643"},{"type":"electronic","value":"1433-7479"}],"subject":[],"published":{"date-parts":[[2020,11,20]]},"assertion":[{"value":"20 November 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Compliance with ethical standards"}},{"value":"All of the authors declare that they have no conflict of interest.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}},{"value":"This article does not contain any studies with human participants or animals performed by any of the authors.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethical approval"}}]}}