A Modified Horse Herd Optimization Algorithm and Its Application in the Program Source Code Clustering
Maintenance is one of the costliest phases in the software development process. If architectural design models are accessible, software maintenance can be made more straightforward. When the software’s source code is the only available resource, comprehending the program profoundly impacts the costs...
Main Authors: | , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Hindawi-Wiley
2023-01-01
|
Series: | Complexity |
Online Access: | http://dx.doi.org/10.1155/2023/3988288 |
_version_ | 1797366782061707264 |
---|---|
author | Bahman Arasteh Peri Gunes Asgarali Bouyer Farhad Soleimanian Gharehchopogh Hamed Alipour Banaei Reza Ghanbarzadeh |
author_facet | Bahman Arasteh Peri Gunes Asgarali Bouyer Farhad Soleimanian Gharehchopogh Hamed Alipour Banaei Reza Ghanbarzadeh |
author_sort | Bahman Arasteh |
collection | DOAJ |
description | Maintenance is one of the costliest phases in the software development process. If architectural design models are accessible, software maintenance can be made more straightforward. When the software’s source code is the only available resource, comprehending the program profoundly impacts the costs associated with software maintenance. The primary objective of comprehending the source code is extracting information used during the software maintenance phase. Generating a structural model based on the program source code is an effective way of reducing overall software maintenance costs. Software module clustering is considered a tremendous reverse engineering technique for constructing structural design models from the program source code. The main objectives of clustering modules are to reduce the quantity of connections between clusters, increase connections within clusters, and improve the quality of clustering. Finding the perfect clustering model is considered an NP-complete problem, and many previous approaches had significant issues in addressing this problem, such as low success rates, instability, and poor modularization quality. This paper applied the horse herd optimization algorithm, a distinctive population-based and discrete metaheuristic technique, in clustering software modules. The proposed method’s effectiveness in addressing the module clustering problem was examined by ten real-world standard software test benchmarks. Based on the experimental data, the quality of the clustered models produced is approximately 3.219, with a standard deviation of 0.0718 across the ten benchmarks. The proposed method surpasses former methods in convergence, modularization quality, and result stability. Furthermore, the experimental results demonstrate the versatility of this approach in effectively addressing various real-world discrete optimization challenges. |
first_indexed | 2024-03-08T17:09:33Z |
format | Article |
id | doaj.art-260b760a3efa446ea0b16a154dcec955 |
institution | Directory Open Access Journal |
issn | 1099-0526 |
language | English |
last_indexed | 2024-03-08T17:09:33Z |
publishDate | 2023-01-01 |
publisher | Hindawi-Wiley |
record_format | Article |
series | Complexity |
spelling | doaj.art-260b760a3efa446ea0b16a154dcec9552024-01-04T00:00:06ZengHindawi-WileyComplexity1099-05262023-01-01202310.1155/2023/3988288A Modified Horse Herd Optimization Algorithm and Its Application in the Program Source Code ClusteringBahman Arasteh0Peri Gunes1Asgarali Bouyer2Farhad Soleimanian Gharehchopogh3Hamed Alipour Banaei4Reza Ghanbarzadeh5Department of Software EngineeringDepartment of Computer EngineeringDepartment of Software EngineeringDepartment of Computer EngineeringDepartment of ElectronicsFaculty of Science and EngineeringMaintenance is one of the costliest phases in the software development process. If architectural design models are accessible, software maintenance can be made more straightforward. When the software’s source code is the only available resource, comprehending the program profoundly impacts the costs associated with software maintenance. The primary objective of comprehending the source code is extracting information used during the software maintenance phase. Generating a structural model based on the program source code is an effective way of reducing overall software maintenance costs. Software module clustering is considered a tremendous reverse engineering technique for constructing structural design models from the program source code. The main objectives of clustering modules are to reduce the quantity of connections between clusters, increase connections within clusters, and improve the quality of clustering. Finding the perfect clustering model is considered an NP-complete problem, and many previous approaches had significant issues in addressing this problem, such as low success rates, instability, and poor modularization quality. This paper applied the horse herd optimization algorithm, a distinctive population-based and discrete metaheuristic technique, in clustering software modules. The proposed method’s effectiveness in addressing the module clustering problem was examined by ten real-world standard software test benchmarks. Based on the experimental data, the quality of the clustered models produced is approximately 3.219, with a standard deviation of 0.0718 across the ten benchmarks. The proposed method surpasses former methods in convergence, modularization quality, and result stability. Furthermore, the experimental results demonstrate the versatility of this approach in effectively addressing various real-world discrete optimization challenges.http://dx.doi.org/10.1155/2023/3988288 |
spellingShingle | Bahman Arasteh Peri Gunes Asgarali Bouyer Farhad Soleimanian Gharehchopogh Hamed Alipour Banaei Reza Ghanbarzadeh A Modified Horse Herd Optimization Algorithm and Its Application in the Program Source Code Clustering Complexity |
title | A Modified Horse Herd Optimization Algorithm and Its Application in the Program Source Code Clustering |
title_full | A Modified Horse Herd Optimization Algorithm and Its Application in the Program Source Code Clustering |
title_fullStr | A Modified Horse Herd Optimization Algorithm and Its Application in the Program Source Code Clustering |
title_full_unstemmed | A Modified Horse Herd Optimization Algorithm and Its Application in the Program Source Code Clustering |
title_short | A Modified Horse Herd Optimization Algorithm and Its Application in the Program Source Code Clustering |
title_sort | modified horse herd optimization algorithm and its application in the program source code clustering |
url | http://dx.doi.org/10.1155/2023/3988288 |
work_keys_str_mv | AT bahmanarasteh amodifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT perigunes amodifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT asgaralibouyer amodifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT farhadsoleimaniangharehchopogh amodifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT hamedalipourbanaei amodifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT rezaghanbarzadeh amodifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT bahmanarasteh modifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT perigunes modifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT asgaralibouyer modifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT farhadsoleimaniangharehchopogh modifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT hamedalipourbanaei modifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering AT rezaghanbarzadeh modifiedhorseherdoptimizationalgorithmanditsapplicationintheprogramsourcecodeclustering |