“…The problem of clustering software modules is considered to be an N - P complete optimization problem; for solving this problem, modules at source code level is firstly displayed by using MDG. In the related literature, various heuristic algorithms have been proposed for solving this problem (Mitchell, 2003; Praditwong et al , 2011; Huang and Liu, 2016; Sun and Ling, 2018; Prajapati and Chhabra, 2018). In the present study, combination of SFLA and GA was used for the optimal clustering of software modules.…”
Section: Proposed Methodsmentioning
confidence: 99%
“…It was observed that their proposed method was effective and promising for optimizing software clustering. In 2018, aiming to solve the problems of low convergence speed, poor clustering and clustering algorithm complexity, Sun and Ling (2018) used probable transfer where source code is converted to a complex network diagram. Then, they used merger, adjustment and optimization operations for clustering software modules.…”
Section: Related Workmentioning
confidence: 99%
“…In the related literature, different evolutionary algorithms have been proposed for achieving the above-mentioned objectives, that is, hill climbing (HC), genetic algorithm (GA), particle swarm optimization (PSO), multi-objective evolutionary algorithm (MOEA), artificial bee colony algorithm (TA-ABC), combination of particle swarm optimization and genetic algorithms (PSO_GA) and so forth (Mancoridis et al , 1999; Mitchell, 2003; Praditwong et al , 2011; Kumari and Srinivas, 2016; Sun and Ling, 2018; Monçores et al , 2018; Xie et al , 2016; Amarjeet and Chhabra, 2018). The related works indicate the following results:Hill climbing algorithm can be quickly executed.…”
PurposeSoftware module clustering is one of the reverse engineering techniques, which is considered to be an effective technique for presenting software architecture and structural information. The objective of clustering software modules is to achieve minimum coupling among different clusters and create maximum cohesion among the modules of each cluster. Finding the best clustering is considered to be a multi-objective N-P hard optimization-problem, and for solving this problem, different meta-heuristic algorithms have been previously proposed. Achieving higher module lustering quality (MQ), obtaining higher success rate for achieving the best clustering quality and improving convergence speed are the main objectives of this study.Design/methodology/approachIn this study, a method (Bölen) is proposed for clustering software modules which combines the two algorithms of shuffled frog leaping and genetic algorithm.FindingsThe results of conducted experiments using traditional data sets confirm that the proposed method outperforms the previous methods in terms of convergence speed, module clustering quality and stability of the results.Originality/valueThe study proposes SFLA_GA algorithm for optimizing software module clustering, implementing SFLA algorithm in a discrete form by two operators of the genetic algorithm and achieving the above-mentioned purposes in this study. The aim is to achieve higher performance of the proposed algorithm in comparison with other algorithms.
“…The problem of clustering software modules is considered to be an N - P complete optimization problem; for solving this problem, modules at source code level is firstly displayed by using MDG. In the related literature, various heuristic algorithms have been proposed for solving this problem (Mitchell, 2003; Praditwong et al , 2011; Huang and Liu, 2016; Sun and Ling, 2018; Prajapati and Chhabra, 2018). In the present study, combination of SFLA and GA was used for the optimal clustering of software modules.…”
Section: Proposed Methodsmentioning
confidence: 99%
“…It was observed that their proposed method was effective and promising for optimizing software clustering. In 2018, aiming to solve the problems of low convergence speed, poor clustering and clustering algorithm complexity, Sun and Ling (2018) used probable transfer where source code is converted to a complex network diagram. Then, they used merger, adjustment and optimization operations for clustering software modules.…”
Section: Related Workmentioning
confidence: 99%
“…In the related literature, different evolutionary algorithms have been proposed for achieving the above-mentioned objectives, that is, hill climbing (HC), genetic algorithm (GA), particle swarm optimization (PSO), multi-objective evolutionary algorithm (MOEA), artificial bee colony algorithm (TA-ABC), combination of particle swarm optimization and genetic algorithms (PSO_GA) and so forth (Mancoridis et al , 1999; Mitchell, 2003; Praditwong et al , 2011; Kumari and Srinivas, 2016; Sun and Ling, 2018; Monçores et al , 2018; Xie et al , 2016; Amarjeet and Chhabra, 2018). The related works indicate the following results:Hill climbing algorithm can be quickly executed.…”
PurposeSoftware module clustering is one of the reverse engineering techniques, which is considered to be an effective technique for presenting software architecture and structural information. The objective of clustering software modules is to achieve minimum coupling among different clusters and create maximum cohesion among the modules of each cluster. Finding the best clustering is considered to be a multi-objective N-P hard optimization-problem, and for solving this problem, different meta-heuristic algorithms have been previously proposed. Achieving higher module lustering quality (MQ), obtaining higher success rate for achieving the best clustering quality and improving convergence speed are the main objectives of this study.Design/methodology/approachIn this study, a method (Bölen) is proposed for clustering software modules which combines the two algorithms of shuffled frog leaping and genetic algorithm.FindingsThe results of conducted experiments using traditional data sets confirm that the proposed method outperforms the previous methods in terms of convergence speed, module clustering quality and stability of the results.Originality/valueThe study proposes SFLA_GA algorithm for optimizing software module clustering, implementing SFLA algorithm in a discrete form by two operators of the genetic algorithm and achieving the above-mentioned purposes in this study. The aim is to achieve higher performance of the proposed algorithm in comparison with other algorithms.
“…Direction of call relationships between different methods should be as consistent as possible in software design, which will help build a relatively independent function block for system maintenance and management [13]. It is necessary to consider the unidirectional performance between the different clusters.…”
Section: Average Reverse Edge Number Between Clustersmentioning
confidence: 99%
“…To work out the MOSMCP, we exploited the number of reverse edges in the software MDG [13] as another clustering objective. A novel PSO algorithm is proposed to enhance the traditional algorithm, where the exploring approach is used to update the particle locations.…”
The multi-objective software module clustering problem (MOSMCP) divides the complex software system into subsystems to obtain a perfect structure, which is based on the relations between modules to meet the conflicting software refactor objectives as much as possible. The modularization quality (MQ) and reverse edges number between clusters are considered as evaluation objectives, and a novel particle swarm optimization (PSO) with reverse edge, called REPSO, is proposed. First, the module dependency graph (MDG) in software system under clustering is constructed, and then the multi-objective particle swarm optimization (MOPSO) is improved to cluster the MDG. The exploring approach is used to update the particle locations. Four typical open source projects for module clustering are selected to verify the effectiveness of the REPSO. The laboratorial results prove that the REPSO algorithm is very effective and stable, and the diversity of the optimal solution is good. The REPSO algorithm provides an efficient engineering method for MOSMCP, which enhances the software structure and maintainability.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.