Abstract
Software remodularization is always a key task in the field of software reengineering. In recent years, search-based optimization techniques have been considered as an effective method to handle software remodularization problems. Recently, Harmony Search (HS), a metaheuristic algorithm has gained wide attention and has been demonstrated to be effective and convenient to solve various science and engineering problems. The applicability and usefulness of HS algorithm has not been studied by any researcher till date to solve the software remodularization problem. This paper proposes a Harmony Search-Based Remodularization Algorithm (HSBRA) to solve the software remodularization problem for object-oriented software (OOS) systems. To do so, several key improvements have been put forward like an efficient encoding of harmony memory, initialization of harmony memory, an effective strategy for improvisation of a new harmony. In addition, a new fitness function that considers coupling, cohesion, package count index and package size index is developed. Four different variants of HSBRA (i.e., HSBRA1, HSBRA2, HSBRA3, and HSBRA4) based on linear and exponential changes in Harmony Memory Consideration Rate (HMCR) and Pitch Adjusting Rate (PAR) have been formulated. The proposed approach is tested over 8 problem instances and results are compared with both the population based (Genetic Algorithm - GA, Differential Evolution – DE, and Artificial Bee Colony - ABC) and single-solution based (Simulated Annealing - SA and Hill-Climbing - HC) algorithms. A Wilcoxon test is performed to assess the pair wise statistical performance of the algorithms. The results show that HSBRA outperforms SA, HC, and GA algorithms and performs better than ABC algorithms. Out of four variants of HSBRA, exponential change based variants of HSBRA perform better than linear change based variants.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have