In the fields of software engineering, the maintenance phase takes the most effort. software Module clustering (SMC), as a part of reverse engineering, is used for the purpose of creating structural models from the so...
详细信息
In the fields of software engineering, the maintenance phase takes the most effort. software Module clustering (SMC), as a part of reverse engineering, is used for the purpose of creating structural models from the source code enhancing its comprehensibility. Finding the best clusters is an NP-hard problem. The method of software module clustering aims to extract the best clusters, which involves Increase cohesion and reduce coupling. This re-search addresses a set of problems with the aim of solving them, which are drawback found in most previous studies. This paper adopts three main methods to solve software modules clustering problem (SMCP), a Teaching-Learning-Based-optimization (TLBO) algorithm, a Black Widow optimization (BWO) algorithm, and the third is a hybrid algorithm combining the previous two methods. These algorithms were used to cluster softwaremodules and were evaluated based on MQ (Modularity Quality), cohesion, coupling, and stability. To determine the optimal number of clusters for each reference program, the Louvain algorithm is used, which works on detecting communities in networks. The study also experintly examined the impact of the chaos, random, Lorenzo methods in the initial generation of solutions on the quality of the results and stability. Considering the results of the experiments conducted on eight standard applications, the hybrid algorithm performs better in SMC problems than the TLBO and BWO. The performance of these algorithms also improves significantly, when their initial populations are generated using the logistic Lorenz and Chaos method rather than a random one. 6.644548537, 6.318318013, and 4.375766992 are the average MQ of the clusters that were formed for the selected casses set using the Hybrid method, BWO, and TLBO, respectively.
Comprehension of the structure of software will facilitate maintaining the software more efficiently. clusteringsoftwaremodules, as a reverse engineering technique, is assumed to be an effective technique in extract...
详细信息
Comprehension of the structure of software will facilitate maintaining the software more efficiently. clusteringsoftwaremodules, as a reverse engineering technique, is assumed to be an effective technique in extracting comprehensible structural-models of software from the source code. Finding the best clustering model of a software system is regarded as a NP-complete problem. Minimizing the connections among the created clusters, maximizing the internal connections within the created clusters and maximizing the clustering quality are considered to be the most important objectives in software module clustering (SMC). Poor success rate, low stability and modularization quality are regarded as the major drawbacks of the previously proposed methods. In this paper, five different heuristic algorithms (Bat, Cuckoo, Teaching-Learning-Based, Black Widow and Grasshopper algorithms) are proposed for optimal clustering of softwaremodules. Also, the effects of chaos theory in the performance of these algorithms in this problem have been experimentally investigated. The results of conducted experiments on the eight standard and real-world applications indicate that performance of the BWO, PSO, and TLB algorithms are higher than the other algorithms in SMC problem;also, the performance of these algorithm increased when their initial population were generated with logistic chaos method instead of random method. The average MQ of the generated clusters for the selected benchmark set by BWO, PSO and TLB are 3.155, 3.120 and 2.778, respectively.
One of the most important and costly stages in software development is maintenance. Understanding the structure of software will make it easier to maintain it more efficiently. clusteringsoftwaremodules is thought t...
详细信息
One of the most important and costly stages in software development is maintenance. Understanding the structure of software will make it easier to maintain it more efficiently. clusteringsoftwaremodules is thought to be an effective reverse engineering technique for deriving structural models of software from source code. In software module clustering, the most essential objectives are to minimize connections between produced clusters, maximize internal connections within created clusters, and maximize clustering quality. Finding the appropriate software system clustering model is considered an NP-complete task. The previously proposed approaches' key limitations are their low success rate, low stability, and poor modularization quality. In this paper, for optimal clustering of softwaremodules, Chaotic based heuristic method using a forest optimization algorithm is proposed. The impact of chaos theory on the performance of the other SFLA-GA and PSO-GA has also been investigated. The results show that using the logistic chaos approach improves the performance of these methods in the software-module clustering problem. The performance of chaotic based FOA, SFLA-GA and PSO-GA is superior to the other heuristic methods in terms of modularization quality and stability of the results.
Maintenance is a critical and costly phase of software lifecycle. Understanding the structure of software will make it much easier to maintain the software. clustering the modules of software is regarded as a useful r...
详细信息
Maintenance is a critical and costly phase of software lifecycle. Understanding the structure of software will make it much easier to maintain the software. clustering the modules of software is regarded as a useful reverse engineering technique for constructing software structural models from source code. Minimizing the connections between produced clusters, maximizing the internal connections within the clusters, and maximizing the clustering quality are the most important objectives in software module clustering. Finding the optimal softwareclustering model is regarded as an NP-complete problem. The low success rate, limited stability, and poor modularization quality are the main drawbacks of the previous methods. In this paper, a combination of gray wolf optimization algorithm and genetic algorithms is suggested for efficient clustering of softwaremodules. An extensive series of experiments on 14 standard benchmarks have been conducted to evaluated the proposed method. The results illustrate that using the combination of gray wolf and genetic algorithms to the softwaremodule clustering problem increases the quality of clustering. In terms of modularization quality and convergence speed, proposed hybrid method outperforms the other heuristic approaches.
暂无评论