Program source code comprehension by module clustering using combination of discretized gray wolf and genetic algorithms - Arasteh, Bahman; Abdi, Mohammad; Bouyer, Asgarali (Advances in engineering software (1992), 2022)
•In this study a multi heuristic-based method has been proposed to generate effective structural model for from the source code of software product. To this end, the proposed method exploits combination of discretized gray wolf algorithm and genetic algorithm to.•In this study, the classic gray wolf algorithm was modified, discretized and adapted with software module clustering problem.•The proposed method has higher MQ in the small and large software products respectively.•The proposed combined method has higher convergence speed and consequently lower number of iterations for obtaining the optimal response.•The proposed method has been implemented as an open source tool to use by the software engineers for generating an effective clustered model from the source code products. 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 software clustering 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 software modules. 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 software-module clustering problem increases the quality of clustering. In terms of modularization quality and convergence speed, proposed hybrid method outperforms the other heuristic approaches.