Single and multi-objective metaheuristic algorithms and their applications in software maintenance

Küçük Resim Yok

Tarih

2024

Dergi Başlığı

Dergi ISSN

Cilt Başlığı

Yayıncı

Elsevier

Erişim Hakkı

info:eu-repo/semantics/closedAccess

Özet

The comprehension of software structure plays a significant role in efficiently maintaining software. Clustering software modules has been regarded as a successful method for extracting understandable structural models from source code, among other reverse engineering techniques. However, the problem of achieving the optimal model for clustering is considered NP-complete. The primary objective of Software Module Clustering (SMC) is minimizing inter-cluster connections, maximizing intra-cluster connections, and improving clustering quality. Different optimization algorithms (Seyyedabbasi, 2023) have been used to sort out the optimization problems. The majority of proposed methods to address SMC problem have shown some drawbacks, such as a lower rate of success, stability, and quality of modularization. This chapter reviews and compares seven heuristic algorithms that can be employed to solve software module clustering, namely PSO, GA, PSO-GA, COA, GWO, SCSO and OOA, in terms of achieving optimal clustering of software modules. Through experiments conducted on 10 real-world standard applications, the findings demonstrate that OOA, GWO, and SCSO perform better than the other methods in handling SMC. Notably, when the initial population of these methods is generated by the use of the logistic chaos technique instead of the random technique, these algorithms perform much better compared to others. The average quality of the modularity of the clusters created by OOA, GWO, and SCSO for the selected benchmark set is 3.937, 3.120, 3.107, respectively. The findings present an exploration of heuristic algorithms for optimal SMC; therefore, the positive impact of chaos theory is highlighted. OOA, GWO, SCSO, and COA demonstrate promising results, indicating their potential for practical application in the field of software maintenance and comprehension. By addressing the drawbacks of the evaluated methods, this chapter contributes to the advancement of software clustering techniques and facilitates the creation of more maintainable and efficient software systems.

Açıklama

Anahtar Kelimeler

Modularization Quality, Module Dependency Graph, Single and Multi-Objective Heuristic Algorithms, Software Maintenance, Software Module Clustering

Kaynak

Decision-making models: a perspective of fuzzy logic and machine learning

WoS Q Değeri

Scopus Q Değeri

Cilt

Sayı

Künye

Arasteh, B., Sadegi, R., Aghaei, B., & Ghanbarzadeh, R. (2024). Single and multi-objective metaheuristic algorithms and their applications in software maintenance. Decision-Making Models, 97-110.