International Journal of Applied Information Systems |
Foundation of Computer Science (FCS), NY, USA |
Volume 5 - Number 6 |
Year of Publication: 2013 |
Authors: A. Charan Kumari, K. Srinivas |
10.5120/ijais13-450925 |
A. Charan Kumari, K. Srinivas . Software Module Clustering using a Fast Multi-objective Hyper-heuristic Evolutionary Algorithm. International Journal of Applied Information Systems. 5, 6 ( April 2013), 12-18. DOI=10.5120/ijais13-450925
Software evolution is a natural phenomenon in the software development life cycle. As the software evolves, the modular structure of software degrades, and at one point it becomes a challenging task to maintain the software further. Software module clustering is an important activity during software maintenance whose main goal is to obtain good modular structures. Software engineers greatly emphasize on good modular structures as it is easier to comprehend, develop and maintain such software systems. In recent times, the problem has been converted into a Search-based Software Engineering Problem with multiple objectives. This problem is NP hard as it is an instance of graph partitioning and hence cannot be solved using traditional optimization techniques. The Multi-objective Hyper-heuristic Evolutionary Algorithm (MHypEA) is a fast and effective metaheuristic search technique for suggesting software module clusters while maximizing cohesion and minimizing coupling of the software modules. It incorporates twelve low-level heuristics which are based on different methods of selection, crossover and mutation operations of Evolutionary Algorithms. The selection mechanism to select a low-level heuristic is based on reinforcement learning with adaptive weights. The effectiveness of the algorithm has been studied on six real-world module clustering problems reported in the literature and the comparison of the results prove the efficacy of the MHypEA in terms of quality of solutions and computational time.