{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,25]],"date-time":"2026-04-25T18:27:55Z","timestamp":1777141675931,"version":"3.51.4"},"reference-count":40,"publisher":"MDPI AG","issue":"2","license":[{"start":{"date-parts":[[2023,2,2]],"date-time":"2023-02-02T00:00:00Z","timestamp":1675296000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Symmetry"],"abstract":"<jats:p>One of expensive stages of the software lifecycle is its maintenance. Software maintenance will be much simpler if its structural models are available. Software module clustering is thought to be a practical reverse engineering method for building software structural models from source code. The most crucial goals in software module clustering are to minimize connections between created clusters, maximize internal connections within clusters, and maximize clustering quality. It is thought that finding the best software clustering model is an NP-complete task. The key shortcomings of the earlier techniques are their low success rates, low stability, and insufficient modularization quality. In this paper, for effective clustering of software source code, a discretized sand cat swarm optimization (SCSO) algorithm has been proposed. The proposed method takes the dependency graph of the source code and generates the best clusters for it. Ten standard and real-world benchmarks were used to assess the performance of the suggested approach. The outcomes show that the quality of clustering is improved when a discretized SCSO algorithm was used to address the software module clustering issue. The suggested method beats the previous heuristic approaches in terms of modularization quality, convergence speed, and success rate.<\/jats:p>","DOI":"10.3390\/sym15020401","type":"journal-article","created":{"date-parts":[[2023,2,3]],"date-time":"2023-02-03T02:35:10Z","timestamp":1675391710000},"page":"401","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":27,"title":["Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm"],"prefix":"10.3390","volume":"15","author":[{"given":"Bahman","family":"Arasteh","sequence":"first","affiliation":[{"name":"Department of Software Engineering, Faculty of Engineering and Natural Science, Istinye University, Istanbul 34396, Turkey"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5186-4499","authenticated-orcid":false,"given":"Amir","family":"Seyyedabbasi","sequence":"additional","affiliation":[{"name":"Department of Software Engineering, Faculty of Engineering and Natural Science, Istinye University, Istanbul 34396, Turkey"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3761-1641","authenticated-orcid":false,"given":"Jawad","family":"Rasheed","sequence":"additional","affiliation":[{"name":"Department of Software Engineering, Nisantasi University, Istanbul 34398, Turkey"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6413-3924","authenticated-orcid":false,"given":"Adnan","family":"M. Abu-Mahfouz","sequence":"additional","affiliation":[{"name":"Council for Scientific and Industrial Research (CSIR), Pretoria 0184, South Africa"},{"name":"Department of Electrical and Electronic Engineering Science, University of Johannesburg, Johannesburg 2006, South Africa"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2023,2,2]]},"reference":[{"key":"ref_1","unstructured":"Mitchell, B.S. (2002). A Heuristic Search Approach to Solving the Software Clustering Problem, Drexel University."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"264","DOI":"10.1109\/TSE.2010.26","article-title":"Software Module Clustering as a Multi-Objective Search Problem","volume":"37","author":"Praditwong","year":"2011","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_3","unstructured":"Pressman, R. (2000). Software Engineering: A Practitioner\u2019s Approach: European Adaptation, McGraw-Hill."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"3357","DOI":"10.1007\/s13369-020-05046-9","article-title":"Optimal Multi-robot Path Planning Using Particle Swarm Optimization Algorithm Improved by Sine and Cosine Algorithms","volume":"46","author":"Paikray","year":"2021","journal-title":"Arab. J. Sci. Eng."},{"key":"ref_5","unstructured":"and Chhabra, J.K. (2014, January 7\u20139). An empirical study of the sensitivity of quality indicator for software module clustering. Proceedings of the 2014 Seventh International Conference on Contemporary Computing (IC3), Noida, India."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"96","DOI":"10.1016\/j.infsof.2016.09.011","article-title":"Improving modular structure of software system using structural and lexical dependency","volume":"82","author":"Amarjeet","year":"2017","journal-title":"Inf. Softw. Technol."},{"key":"ref_7","first-page":"21","article-title":"Enhancing Software Reliability against Soft-Error using Minimum Redundancy on Critical Data","volume":"9","author":"Keshtgar","year":"2017","journal-title":"Int. J. Comput. Netw. Inf. Secur."},{"key":"ref_8","unstructured":"Garey, M.R., and Johnson, D.S. (1979). Computers and Intractability, W. H. Freeman & Co.. A Guide to the Theory of NP-Completeness."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"194","DOI":"10.1016\/j.sbspro.2011.11.037","article-title":"A Pattern-Oriented and Web-Based Architecture to Support Mobile Learning Software Development","volume":"28","author":"ZadahmadJafarlou","year":"2011","journal-title":"Procedia-Soc. Behav. Sci."},{"key":"ref_10","unstructured":"Bouyer, A., Arasteh, B., and Movaghar, A. (2007, January 18\u201320). A New Hybrid Model Using Case-Based Reasoning and Decision Tree Methods for Improving Speedup and Accuracy. Proceedings of the IADIS\u2028International Association for Development of the Information Society, Salamanca, Spain."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"2487","DOI":"10.1007\/s00521-022-07716-1","article-title":"D\u00fczen: Generating the structural model from the software source code using shuffled frog leaping algorithm","volume":"35","author":"Arasteh","year":"2023","journal-title":"Neural Comput. Appl."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"655","DOI":"10.1016\/j.sbspro.2013.06.124","article-title":"The Effect of Cloud Computing Technology in Personalization and Education Improvements and its Challenges","volume":"83","author":"Jalali","year":"2013","journal-title":"Procedia-Soc. Behav. Sci."},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"22","DOI":"10.1002\/smr.2228","article-title":"SFLA-based heuristic method to generate software structural test data","volume":"32","author":"Ghaemi","year":"2020","journal-title":"J. Softw. Evol. Process"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"103252","DOI":"10.1016\/j.advengsoft.2022.103252","article-title":"Program source code comprehension by module clustering using combination of discretized gray wolf and genetic algorithms","volume":"173","author":"Arasteh","year":"2022","journal-title":"Adv. Eng. Softw."},{"key":"ref_15","first-page":"40","article-title":"A Hybrid Metaheuristic Algorithm for the Localization Mobile Sensor Nodes","volume":"Volume 130","author":"Rasheed","year":"2022","journal-title":"Forthcoming Networks and Sustainability in the IoT Era. FoNeS-IoT 2021. Lecture Notes on Data Engineering and Communications Technologies"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Seyyedabbasi, A., and Kiani, F. (2022). Sand Cat swarm optimization: A nature-inspired algorithm to solve global optimization problems. Eng. Comput., 1\u201325.","DOI":"10.1007\/s00366-022-01604-x"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Mancoridis, S., Mitchell, B.S., Chen, Y., and Gansner, E.R. (September, January 30). Bunch: A clustering tool for the recovery and maintenance of software system structures. Proceedings of the IEEE International Conference on Software Maintenance-1999 (ICSM\u201999). \u201cSoftware Maintenance for Business Change\u201d (Cat. No.99CB36360), Oxford, UK.","DOI":"10.1109\/ICSM.1999.792498"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Harman, M., Swift, S., and Mahdavi, K. (2005, January 25). An empirical study of the robustness of two module clustering fitness functions. Proceedings of the 7th Annual Conference on Genetic and Evolutionary Computation, New York, NY, USA.","DOI":"10.1145\/1068009.1068184"},{"key":"ref_19","unstructured":"Mahdavi, K., Harman, M., and Hierons, R.M. (2003, January 22\u201326). A multiple hill climbing approach to software module clustering. Proceedings of the International Conference on Software Maintenance, 2003. ICSM 2003, Amsterdam, The Netherlands."},{"key":"ref_20","first-page":"75","article-title":"Putting the Developer in-the-Loop: An Interactive GA for Software Re-modularization","volume":"Volume 7515","author":"Fraser","year":"2012","journal-title":"Search Based Software Engineering. SSBSE 2012"},{"key":"ref_21","first-page":"619","article-title":"TA-ABC: Two-Archive Artificial Bee Colony for Multi-objective Software Module Clustering Problem","volume":"27","author":"Amarjeet","year":"2018","journal-title":"J. Intell. Syst."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"106469","DOI":"10.1016\/j.infsof.2020.106469","article-title":"A graph-based clustering algorithm for software systems modularization","volume":"133","author":"Pourasghar","year":"2021","journal-title":"Inf. Softw. Technol."},{"key":"ref_23","first-page":"251","article-title":"B\u00f6len: Software module clustering method using the combination of shuffled frog leaping and genetic algorithm","volume":"55","author":"Arasteh","year":"2021","journal-title":"Data Technol. Appl."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"93","DOI":"10.1007\/s11859-018-1299-9","article-title":"Software Module Clustering Algorithm Using Probability Selection","volume":"23","author":"Sun","year":"2018","journal-title":"Wuhan Univ. J. Nat. Sci."},{"key":"ref_25","unstructured":"Maletic, J.I., and Marcus, A. (2001, January 19). Supporting program comprehension using semantic and structural information. Proceedings of the 23rd International Conference on Software Engineering, ICSE 2001, Toronto, ON, Canada."},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"de Oliveira Barros, M. (2012, January 7\u201311). An analysis of the effects of composite objectives in multiobjective software module clustering. Proceedings of the 14th Annual Conference on Genetic and Evolutionary Computation, New York, NY, USA.","DOI":"10.1145\/2330163.2330330"},{"key":"ref_27","unstructured":"Chen, Y.-F. (1995). Practical Reusable UNIX Software, John Wiley & Sons, Inc."},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Mamaghani, A.S., and Hajizadeh, M. (2014, January 23\u201324). Software modularization using the modified firefly algorithm. Proceedings of the 2014 8th Malaysian Software Engineering Conference (MySEC), Langkawi, Malaysia.","DOI":"10.1109\/MySec.2014.6986037"},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"449","DOI":"10.3233\/IDT-200070","article-title":"ARAZ: A software modules clustering method using the combination of particle swarm optimization and genetic algorithms","volume":"14","author":"Arasteh","year":"2021","journal-title":"Intell. Decis. Technol."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"6786","DOI":"10.1007\/s11227-019-03112-0","article-title":"An efficient and stable method to cluster software modules using ant colony optimization algorithm","volume":"76","author":"Hatami","year":"2020","journal-title":"J. Supercomput."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"103272","DOI":"10.1016\/j.advengsoft.2022.103272","article-title":"WOASCALF: A new hybrid whale optimization algorithm based on sine cosine algorithm and levy flight to solve global optimization problems","volume":"173","author":"Seyyedabbasi","year":"2022","journal-title":"Adv. Eng. Softw."},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"e2408","DOI":"10.1002\/smr.2408","article-title":"Savalan: Multi objective and homogeneous method for software modules clustering","volume":"34","author":"Arasteh","year":"2022","journal-title":"J. Softw. Evol. Process"},{"key":"ref_33","unstructured":"Korn, J., Chen, Y.-F., and Koutsofios, E. (1999, January 8). Chava: Reverse engineering and tracking of Java applets. Proceedings of the Sixth Working Conference on Reverse Engineering (Cat. No.PR00303), Atlanta, GA, USA."},{"key":"ref_34","unstructured":"(2023, January 10). Graphviz. Available online: https:\/\/graphviz.org\/."},{"key":"ref_35","unstructured":"(2022, October 30). Savalan. Available online: http:\/\/savalan-smct.com\/."},{"key":"ref_36","doi-asserted-by":"crossref","unstructured":"Praditwong, K. (2011, January 11\u201313). Solving software module clustering problem by evolutionary algorithms. Proceedings of the 2011 Eighth International Joint Conference on Computer Science and Software Engineering (JCSSE), Nakhonpathom, Thailand.","DOI":"10.1109\/JCSSE.2011.5930112"},{"key":"ref_37","doi-asserted-by":"crossref","unstructured":"Kumari, A.C., Srinivas, K., and Gupta, M.P. (2013, January 23). Software module clustering using a hyper-heuristic based multi-objective genetic algorithm. Proceedings of the 2013 3rd IEEE International Advance Computing Conference (IACC), Ghaziabad, India.","DOI":"10.1109\/IAdCC.2013.6514331"},{"key":"ref_38","first-page":"349","article-title":"Improving package structure of object-oriented software using multi-objective optimization and weighted class connections","volume":"29","author":"Amarjeet","year":"2017","journal-title":"J. King Saud Univ. Comput. Inf. Sci."},{"key":"ref_39","first-page":"153","article-title":"Harmony search based remodularization for object-oriented software systems","volume":"47","author":"Amarjeet","year":"2017","journal-title":"Comput. Lang. Syst. Struct."},{"key":"ref_40","doi-asserted-by":"crossref","unstructured":"Arasteh, B. (2022). Clustered design-model generation from a program source code using chaos-based metaheuristic algorithms. Neural Comput. Appl., 1\u201323.","DOI":"10.1007\/s00521-022-07781-6"}],"container-title":["Symmetry"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-8994\/15\/2\/401\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T18:22:41Z","timestamp":1760120561000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-8994\/15\/2\/401"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,2,2]]},"references-count":40,"journal-issue":{"issue":"2","published-online":{"date-parts":[[2023,2]]}},"alternative-id":["sym15020401"],"URL":"https:\/\/doi.org\/10.3390\/sym15020401","relation":{},"ISSN":["2073-8994"],"issn-type":[{"value":"2073-8994","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,2,2]]}}}