CFP last date
15 October 2024
Reseach Article

Software Module Clustering using a Fast Multi-objective Hyper-heuristic Evolutionary Algorithm

by A. Charan Kumari, K. Srinivas
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

@article{ 10.5120/ijais13-450925,
author = { A. Charan Kumari, K. Srinivas },
title = { Software Module Clustering using a Fast Multi-objective Hyper-heuristic Evolutionary Algorithm },
journal = { International Journal of Applied Information Systems },
issue_date = { April 2013 },
volume = { 5 },
number = { 6 },
month = { April },
year = { 2013 },
issn = { 2249-0868 },
pages = { 12-18 },
numpages = {9},
url = { https://www.ijais.org/archives/volume5/number6/455-0925/ },
doi = { 10.5120/ijais13-450925 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Journal Article
%1 2023-07-05T17:58:39.518543+05:30
%A A. Charan Kumari
%A K. Srinivas
%T Software Module Clustering using a Fast Multi-objective Hyper-heuristic Evolutionary Algorithm
%J International Journal of Applied Information Systems
%@ 2249-0868
%V 5
%N 6
%P 12-18
%D 2013
%I Foundation of Computer Science (FCS), NY, USA
Abstract

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.

References
  1. Boehm, B. W. (1975). "The High Cost of Software", in Horowitz E. , Practical Strategies For Developing Large Software Systems", Addison Wesley.
  2. Parikh, G. , Zvegintzov, N. (1983) "Tutorial on Software Maintenance", IEEE Computer Society press, Silver Spring Maryland.
  3. Spiros Mancoridis, Brian S. Mitchell, C. Rorres, Yih-Farn Chen, and Emden R. Gansner (1998) "Using automatic clustering to produce high-level system organizations of source code". In International Workshop on Program Comprehension (IWPC'98), pages 45–53, Los Alamitos, California, USA. IEEE Computer Society Press.
  4. Spiros Mancoridis, Brian S. Mitchell, Yih-Farn Chen, and Emden R. Gansner (1999) "Bunch: A clustering tool for the recovery and maintenance of software system structures". In Proceedings of IEEE International Conference on Software Maintenance, pages 50–59. IEEE Computer Society Press.
  5. Doval, D. , Mancoridis, S. , and Mitchell, B. S. (1999) "Automatic clustering of software systems using a genetic algorithm". In International Conference on Software Tools and Engineering Practice (STEP'99), Pittsburgh, PA, 30 August - 2 September.
  6. Harman, M. , Hierons, R. , and Proctor, M. (2002) "A new representation and crossover operator for search-based optimization of software modularization. In GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, New York, 9-13 July 2002, Morgan Kaufmann Publishers, pp. 1351–1358.
  7. Kiarash Mahdavi, Mark Harman, and Robert Mark Hierons (2003) "A multiple hill climbing approach to software module clustering" . In IEEE International Conference on Software Maintenance, pages 315– 324, Los Alamitos, California, USA, September 2003. IEEE Computer Society Press
  8. Bilal Khan, Shaleeza Sohail and M. Younus Javed (2008) "Evolution Strategy Based Automated Software Clustering Approach"; 2008 International Conference on Advanced Software Engineering & Its Applications (ASEA 2008) held on December 13 - 15, Hainan, China.
  9. Praditwong, K. (2011) " Solving Software Module Clustering Problem by Evolutionary Algorithms" , Eighth International Joint Conference on Computer Science and Software Engineering (JCSSE 2011), 11-13 May 2011, Nakhon Pathom, Thailand, pp. 154-159.
  10. Praditwong, K. , Harman, M. , Xin Yao (2011) "Software Module Clustering as a Multi-Objective Search Problem", IEEE Transactions on Software Engineering, Volume 37(2), 2011, pp. 264-282.
  11. Praditwong, K. , and Xin Yao (2006) "A New Multi-objective Evolutionary Optimisation Algorithm: The Two-Archive Algorithm". In Proceedings of the 2006 International Conference on Computational Intelligence and Security, volume 1, pages 286–291, Guangzhou, China.
  12. Deb, K. (2001) "Multi-Objective Optimization using Evolutionary Algorithms", Wiley Chichester, UK.
  13. Burke, E. , Kendall, G. , Newall, J. , Hart, E. , Ross, P. , and Schulenburg, S. (2003) "Handbook of metaheuristics", chapter 16, "Hyper-heuristics: an emerging direction in modern search technology", pp. 457–474, Kluwer Academic Publishers.
  14. Cowling, P. I. , Kendall, G. , Soubeiga, E. (2001) "Hyperheuristic Approach to Scheduling a Sales Summit", Selected papers of Proceedings of the Third International Conference of Practice And Theory of Automated Timetabling, Springer LNCS vol. 2079, pp. 176-190.
  15. Kaelbling, L. P. , Littman, M. L. , Moore, A. W. (1996) "Reinforcement learning: a survey", Journal of Artificial Intelligence Research 4, 237–285.
  16. Nareyek,A. (2003) "Choosing search heuristics by non-stationary reinforcement learning", In Metaheuristics: Computer decision-making, pp. 523–544. Kluwer Academic Publishers,Dordrecht.
Index Terms

Computer Science
Information Sciences

Keywords

Search-based Software Engineering Software module clustering Hyper-heuristics Evolutionary Algorithm