Software module clustering using a hyper-heuristic based multi-objective genetic algorithm | IEEE Conference Publication | IEEE Xplore

Software module clustering using a hyper-heuristic based multi-objective genetic algorithm


Abstract:

This paper presents a Fast Multi-objective Hyper-heuristic Genetic Algorithm (MHypGA) for the solution of Multi-objective Software Module Clustering Problem. Multi-object...Show More

Abstract:

This paper presents a Fast Multi-objective Hyper-heuristic Genetic Algorithm (MHypGA) for the solution of Multi-objective Software Module Clustering Problem. Multi-objective Software Module Clustering Problem is an important and challenging problem in Software Engineering whose main goal is to obtain a good modular structure of the Software System. Software Engineers greatly emphasize on good modular structure 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 MHypGA is a fast and effective metaheuristic search technique for suggesting software module clusters in a software system while maximizing cohesion and minimizing the coupling of the software modules. It incorporates twelve low-level heuristics which are based on different methods of selection, crossover and mutation operations of Genetic Algorithms. The selection mechanism to select a low-level heuristic is based on reinforcement learning with adaptive weights. The efficacy 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 superiority of the MHypGA in terms of quality of solutions and computational time.
Date of Conference: 22-23 February 2013
Date Added to IEEE Xplore: 13 May 2013
ISBN Information:
Conference Location: Ghaziabad, India
Citations are not available for this document.

I. Introduction

Software maintenance is a crucial activity in the software development life cycle. Boehm [2] found through his research that the maintenance costs can be up to ten times those of an initial development and also Parikh and Zvegintzov [12] pointed out that it consumes 50% of all computer and human resources. Due to the increase in the complexity and size of the software systems, maintenance has become a challenging issue for software engineers. The situation becomes awful, when the software lacks proper documentation on the changes that are performed during system evolution. As a consequence, it becomes practically difficult to maintain the software in future. The replacement of such software with a new one is also not a feasible option, as it does not guarantee the full functionality. The practices such as reverse engineering and reengineering have emerged to handle such software systems. As the source code is the only exact replication of the system available to software developers and maintainers, the reverse engineering community is working towards the development of methods to extract the high-level structural information from the source code directly. Such methods are inclined to focus on design recovery through software clustering, program slicing, source code analysis etc.

Cites in Papers - |

Cites in Papers - IEEE (7)

Select All
1.
Qusay I. Sarhan, Bestoun S. Ahmed, Miroslav Bures, Kamal Z. Zamli, "Software Module Clustering: An In-Depth Literature Analysis", IEEE Transactions on Software Engineering, vol.48, no.6, pp.1905-1928, 2022.
2.
Helson Luiz Jakubovski Filho, Thiago Nascimento Ferreira, Silvia Regina Vergilio, "Incorporating User Preferences in a Software Product Line Testing Hyper-Heuristic Approach", 2018 IEEE Congress on Evolutionary Computation (CEC), pp.1-8, 2018.
3.
Matheus Paixao, Mark Harman, Yuanyuan Zhang, Yijun Yu, "An Empirical Study of Cohesion and Coupling: Balancing Optimization and Disruption", IEEE Transactions on Evolutionary Computation, vol.22, no.3, pp.394-414, 2018.
4.
Amarjeet, Jitender Kumar Chhabra, "Robustness in search-based software remodularization", 2017 International Conference on Infocom Technologies and Unmanned Systems (Trends and Future Directions) (ICTUS), pp.611-615, 2017.
5.
Thiago do Nascimento Ferreira, Josiel Neumann Kuk, Aurora Pozo, Silvia Regina Vergilio, "Product selection based on upper confidence bound MOEA/D-DRA for testing software product lines", 2016 IEEE Congress on Evolutionary Computation (CEC), pp.4135-4142, 2016.
6.
Monika Bishnoi, Paramvir Singh, "Modularizing Software Systems using PSO optimized hierarchical clustering", 2016 International Conference on Computational Techniques in Information and Communication Technologies (ICCTICT), pp.659-664, 2016.
7.
Giovani Guizzo, Silvia R. Vergilio, Aurora T.R. Pozo, "Evaluating a Multi-objective Hyper-Heuristic for the Integration and Test Order Problem", 2015 Brazilian Conference on Intelligent Systems (BRACIS), pp.1-6, 2015.

Cites in Papers - Other Publishers (31)

1.
Sushil Kumar, Sunny Parihar, Vanita Garg, "Metaheuristics Algorithm for Search Result Clustering", Women in Soft Computing, pp.129, 2024.
2.
Carlos A. Coello Coello, "Recent Research Topics in Evolutionary Multiobjective Optimization: A Personal Perspective", Computational Intelligence, vol.1119, pp.90, 2023.
3.
Neetu Gupta, Sumit Kumar, Vishal Gupta, Surbhi Vijh, "Novel Automatic Approach Using Modified Differential Evaluation to Software Module Clustering Problem", SN Computer Science, vol.4, no.6, 2023.
4.
Bahman Arasteh, Razieh Sadegi, Keyvan Arasteh, Peri Gunes, Farzad Kiani, Mahsa Torkamanian-Afshar, "A bioinspired discrete heuristic algorithm to generate the effective structural model of a program source code", Journal of King Saud University - Computer and Information Sciences, vol.35, no.8, pp.101655, 2023.
5.
Junqi Liu, Zeqiang Zhang, Silu Liu, Yu Zhang, Tengfei Wu, "Parallel hyper heuristic algorithm based on reinforcement learning for the corridor allocation problem and parallel row ordering problem", Advanced Engineering Informatics, vol.56, pp.101977, 2023.
6.
Bahman Arasteh, Amir Seyyedabbasi, Jawad Rasheed, Adnan M. Abu-Mahfouz, "Program Source-Code Re-Modularization Using a Discretized and Modified Sand Cat Swarm Optimization Algorithm", Symmetry, vol.15, no.2, pp.401, 2023.
7.
Bahman Arasteh, Reza Ghanbarzadeh, Farhad Soleimanian Gharehchopogh, Ali Hosseinalipour, "Generating the structural graph‐based model from a program source‐code using chaotic forrest optimization algorithm", Expert Systems, 2023.
8.
Haya Alshareef, Mashael Maashi, "Application of Multi-Objective Hyper-Heuristics to Solve the Multi-Objective Software Module Clustering Problem", Applied Sciences, vol.12, no.11, pp.5649, 2022.
9.
Bahman Arasteh, Ahmad Fatolahzadeh, Farzad Kiani, "Savalan: Multi objective and homogeneous method for software modules clustering", Journal of Software: Evolution and Process, 2021.
10.
Amarjeet Prajapati, "Two-Archive Fuzzy-Pareto-Dominance Swarm Optimization for Many-Objective Software Architecture Reconstruction", Arabian Journal for Science and Engineering, vol.46, no.4, pp.3503, 2021.
11.
Jiahua Li, Ali Yamini, "Clustering-based software modularisation models for resource management in enterprise systems", Enterprise Information Systems, pp.1, 2020.
12.
Carlos A. Coello Coello, Silvia Gonzalez Brambila, Josue Figueroa Gamboa, Ma Guadalupe Castillo Tapia, Raquel Hernandez Gomez, "Evolutionary multiobjective optimization: open research areas and some challenges lying ahead", Complex & Intelligent Systems, vol.6, no.2, pp.221, 2020.
13.
Amarjeet Prajapati, Jitender Kumar Chhabra, "Information-Theoretic Remodularization of Object-Oriented Software Systems", Information Systems Frontiers, vol.22, no.4, pp.863, 2020.
14.
Teodoro Macias-Escobar, Laura Cruz-Reyes, Bernabe Dorronsoro, Hector Fraire-Huacuja, Nelson Rangel-Valdez, Claudia Gomez-Santillan, "APPLICATION OF POPULATION EVOLVABILITY IN A HYPER-HEURISTIC FOR DYNAMIC MULTI-OBJECTIVE OPTIMIZATION", Technological and Economic Development of Economy, vol.25, no.5, pp.951, 2019.
15.
Mohammad Alshayeb, "An Empirical Study on Using Class Stability as an Indicator of Class Similarity", Arabian Journal for Science and Engineering, vol.44, no.11, pp.9413, 2019.
16.
Heda Song, Isaac Triguero, Ender Ozcan, "A review on the self and dual interactions between machine learning and optimisation", Progress in Artificial Intelligence, vol.8, no.2, pp.143, 2019.
17.
Amarjeet Prajapati, Jitender Kumar Chhabra, "MaDHS: Many-objective discrete harmony search to improve existing package design", Computational Intelligence, vol.35, no.1, pp.98, 2019.
18.
Berna Kiraz, "Dinamik Cok Amacl? Eniyileme Problemleri icin Hibrid Cercevenin ?ncelenmesi", Gazi Universitesi Fen Bilimleri Dergisi Part C: Tasar?m ve Teknoloji, pp.17, 2018.
19.
Fei Tao, Luning Bi, Ying Zuo, A. Y. C. Nee, "Partial/Parallel Disassembly Sequence Planning for Complex Products", Journal of Manufacturing Science and Engineering, vol.140, no.1, 2018.
20.
Hitesh, A. Charan Kumari, "Feature Selection Optimization in SPL using Genetic Algorithm", Procedia Computer Science, vol.132, pp.1477, 2018.
21.
Jiaze Sun, Beilei Ling, "Software Module Clustering Algorithm Using Probability Selection", Wuhan University Journal of Natural Sciences, vol.23, no.2, pp.93, 2018.
22.
Amarjeet, Jitender Kumar Chhabra, "Many-objective artificial bee colony algorithm for large-scale software module clustering problem", Soft Computing, vol.22, no.19, pp.6341, 2018.
23.
Juan Carlos Gomez, Hugo Terashima-Marin, "Evolutionary hyper-heuristics for tackling bi-objective 2D bin packing problems", Genetic Programming and Evolvable Machines, vol.19, no.1-2, pp.151, 2018.
24.
Jackson A. Prado Lima, Silvia R. Vergilio, "A Multi-objective optimization approach for selection of second order mutant generation strategies", Proceedings of the 2nd Brazilian Symposium on Systematic and Automated Software Testing - SAST, pp.1, 2017.
25.
Helson L. Jakubovski Filho, Jackson A. Prado Lima, Silvia R. Vergilio, "Automatic Generation of Search-Based Algorithms Applied to the Feature Testing of Software Product Lines", Proceedings of the 31st Brazilian Symposium on Software Engineering - SBES17, pp.114, 2017.
26.
Mashael Suliaman Maashi, Heuristics and Hyper-Heuristics - Principles and Applications, 2017.
27.
Jinhuang Huang, Jing Liu, Xin Yao, "A multi-agent evolutionary algorithm for software module clustering problems", Soft Computing, vol.21, no.12, pp.3415, 2017.
28.
Thaina Mariani, Giovani Guizzo, Silvia R. Vergilio, Aurora T.R. Pozo, "Grammatical Evolution for the Multi-Objective Integration and Test Order Problem", Proceedings of the Genetic and Evolutionary Computation Conference 2016, pp.1069, 2016.
29.
Małgorzata Michalska, Nicolas Zufferey, Marco Mattavelli, "Tabu Search for Partitioning Dynamic Dataflow Programs", Procedia Computer Science, vol.80, pp.1577, 2016.
30.
Giovani Guizzo, Gian Mauricio Fritsche, Silvia Regina Vergilio, Aurora Trinidad Ramirez Pozo, "A Hyper-Heuristic for the Multi-Objective Integration and Test Order Problem", Proceedings of the 2015 on Genetic and Evolutionary Computation Conference - GECCO 15, pp.1343, 2015.
Contact IEEE to Subscribe

References

References is not available for this document.