Savalan: multi objective and homogeneous method for software modules clustering
Yükleniyor...
Dosyalar
Tarih
2021
Dergi Başlığı
Dergi ISSN
Cilt Başlığı
Yayıncı
John Wiley and Sons Ltd
Erişim Hakkı
info:eu-repo/semantics/closedAccess
Özet
Reverse engineering is used for extracting and understanding software architecture models from source code when the source code is the only available software product. Software module clustering is a reverse engineering method which decomposes software modules into several clusters (subsystems) by using module dependency graph. Finding the best clusters for the modules of software is a multi-objective and NP-hard problem; maximizing the cohesion among the modules, minimizing the coupling among different clusters, and maximizing the software modularization quality are considered as the main objectives of software module clustering. Some of these objectives, such as cohesion and coupling, are in contradiction with each other. Simultaneous improvement of all clustering objectives (cohesion, coupling, modularization quality, size, and number of clusters) is the main goal of this study. In this paper, by capitalizing on multi objective genetic algorithm and a new combination of objective functions, we proposed a homogeneous method, namely, Savalan, for clustering software modules. The proposed method generates high-quality clusters with strong cohesion within clusters and weak connections between clusters for the input source code. The results of conducted experiments on the 14 benchmark programs indicate that simultaneous improvement of all clustering objectives is the main merit of this method. According to the experimental results, the proposed algorithm was able to outperform the previous multi objective methods.
Açıklama
Anahtar Kelimeler
Homogenous Clustering, Module Clustering, Multi Objective Genetic Algorithm, Software Maintenance
Kaynak
Journal of Software: Evolution and Process
WoS Q Değeri
Q3
Scopus Q Değeri
Q2
Cilt
Sayı
Künye
Arasteh, B., Fatolahzadeh, A., & Kiani, F. Savalan: Multi objective and homogeneous method for software modules clustering. Journal of Software: Evolution and Process, e2408.