Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm

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 mos...

Full description

Bibliographic Details
Main Authors: Bahman Arasteh, Amir Seyyedabbasi, Jawad Rasheed, Adnan M. Abu-Mahfouz
Format: Article
Language:English
Published: MDPI AG 2023-02-01
Series:Symmetry
Subjects:
Online Access:https://www.mdpi.com/2073-8994/15/2/401
_version_ 1797618085140627456
author Bahman Arasteh
Amir Seyyedabbasi
Jawad Rasheed
Adnan M. Abu-Mahfouz
author_facet Bahman Arasteh
Amir Seyyedabbasi
Jawad Rasheed
Adnan M. Abu-Mahfouz
author_sort Bahman Arasteh
collection DOAJ
description 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.
first_indexed 2024-03-11T08:05:14Z
format Article
id doaj.art-c97172a01a184fb28536f3e446642533
institution Directory Open Access Journal
issn 2073-8994
language English
last_indexed 2024-03-11T08:05:14Z
publishDate 2023-02-01
publisher MDPI AG
record_format Article
series Symmetry
spelling doaj.art-c97172a01a184fb28536f3e4466425332023-11-16T23:32:49ZengMDPI AGSymmetry2073-89942023-02-0115240110.3390/sym15020401Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization AlgorithmBahman Arasteh0Amir Seyyedabbasi1Jawad Rasheed2Adnan M. Abu-Mahfouz3Department of Software Engineering, Faculty of Engineering and Natural Science, Istinye University, Istanbul 34396, TurkeyDepartment of Software Engineering, Faculty of Engineering and Natural Science, Istinye University, Istanbul 34396, TurkeyDepartment of Software Engineering, Nisantasi University, Istanbul 34398, TurkeyCouncil for Scientific and Industrial Research (CSIR), Pretoria 0184, South AfricaOne 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.https://www.mdpi.com/2073-8994/15/2/401software module clusteringcohesioncouplingmodularization qualitysand cat swarm optimization algorithm
spellingShingle Bahman Arasteh
Amir Seyyedabbasi
Jawad Rasheed
Adnan M. Abu-Mahfouz
Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm
Symmetry
software module clustering
cohesion
coupling
modularization quality
sand cat swarm optimization algorithm
title Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm
title_full Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm
title_fullStr Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm
title_full_unstemmed Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm
title_short Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm
title_sort program source code re modularization using a discretized and modified sand cat swarm optimization algorithm
topic software module clustering
cohesion
coupling
modularization quality
sand cat swarm optimization algorithm
url https://www.mdpi.com/2073-8994/15/2/401
work_keys_str_mv AT bahmanarasteh programsourcecoderemodularizationusingadiscretizedandmodifiedsandcatswarmoptimizationalgorithm
AT amirseyyedabbasi programsourcecoderemodularizationusingadiscretizedandmodifiedsandcatswarmoptimizationalgorithm
AT jawadrasheed programsourcecoderemodularizationusingadiscretizedandmodifiedsandcatswarmoptimizationalgorithm
AT adnanmabumahfouz programsourcecoderemodularizationusingadiscretizedandmodifiedsandcatswarmoptimizationalgorithm