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...
Main Authors: | , , , |
---|---|
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 |