Application of Multi-Objective Hyper-Heuristics to Solve the Multi-Objective Software Module Clustering Problem
Source abstract
Abstract
Software maintenance is an important step in the software lifecycle. Software module clustering is a HHMO_CF_GDA optimization problem involving several targets that require minimization of module coupling and maximization of software cohesion. Moreover, multi-objective software module clustering involves assembling a specific group of modules according to specific cluster criteria. Software module clustering classifies software modules into different clusters to enhance the software maintenance process. A structure with low coupling and high cohesion is considered an excellent software module structure. In this study, we apply a multi-objective hyper-heuristic method to solve the multi-objective module clustering problem with three objectives: (i) minimize coupling, (ii) maximize cohesion, and (iii) ensure high modularization quality. We conducted several experiments to obtain optimal and near-optimal solutions for the multi-objective module clustering optimization problem. The experimental results demonstrated that the HHMO_CF_GDA method outperformed the individual multi-objective evolutionary algorithms in solving the multi-objective software module clustering optimization problem. The resulting software, in which HHMO_CF_GDA was applied, was more optimized and achieved lower coupling with higher cohesion and better modularization quality. Moreover, the structure of the software was more robust and easier to maintain because of its software modularity.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software Engineering Research · Open Source Software Innovations · Software Engineering Techniques and Practices
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Department of Software Engineering, College of Computer and Information Sciences, King Saud University, Riyadh 11451, Saudi Arabia
Funding
Deanship of Scientific Research at King Saud University
References (39)
Show source-provided references
1. Kumari, A., Srinivas, K., and Gupta, M. (2013, January 22–23). Software module clustering using a hyper-heuristic based multi-objective genetic algorithm. Proceedings of the 2013 3rd IEEE International Advance Computing Conference (IACC), Ghaziabad, India.10.1109/IAdCC.2013.6514331 ↗
2. Software module clustering using single and multi-objective approaches
3. Seetharaman, S., Thouheed Ahmed, S., Gunashree, P.B., and Ishwarya, B.A. (2018, January 29–30). A Generalized Study on Data Mining and Clustering Algorithm. Proceedings of the International Conference On Computational Vision and Bio Inspired Computing, Coimbatore, India.
4. Data Mining for Software Engineering10.1109/MC.2009.256 ↗
5. Maashi, M. (2014). An Investigation of Multi-Objective Hyper-Heuristics for Multi-Objective Optimization. [Ph.D. Thesis, University of Nottingham].10.1016/j.asoc.2014.12.012 ↗
6. A new model and a hyper-heuristic approach for two-dimensional shelf space allocation10.1007/s10288-012-0211-2 ↗
7. A comprehensive analysis of hyper-heuristics10.3233/IDA-2008-12102 ↗
8. A classification of hyper-heuristic approaches10.1007/978-1-4419-1665-5_15 ↗
9. Burke, E., and Kendall, G. (2005). Search Methodologies: Introductory Tutorials in Optimization and Decision Support Techniques, Springer.
10. Tan, K., Lee, T., and Khor, E. (2001, January 27–30). Evolutionary algorithms for multi-objective optimization: Performance assessments and comparisons. Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No. 01TH8546), Seoul, Korea.
11. A multi-objective hyper-heuristic based on choice function, Expert Systems with Applications10.1016/j.eswa.2013.12.050 ↗
12. Comparison of Search-Based Software Engineering Algorithms for Resource Allocation Optimization
13. Search-based software engineering: Trends, techniques and applications10.1145/2379776.2379787 ↗
14. Software project scheduling problem in the context of search-based software engineering: A systematic review10.1016/j.jss.2019.05.024 ↗
15. A survey on the Software Project Scheduling Problem10.1016/j.ijpe.2018.04.020 ↗
16. Multiobjective Simulated Annealing: Principles and Algorithm Variants
17. Shi, Y., and Eberhart, R. (1999, January 6–9). Empirical study of particle swarm optimization. Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), Washington, DC, USA.
18. Dorigo, M., and Di Caro, G. (1999, January 6–9). Ant colony optimization: A new meta-heuristic. Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), Washington, DC, USA.
19. Chalup, S., and Maire, F. (1999, January 6–9). A study on hill climbing algorithms for neural network training. Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), Washington, DC, USA.
20. Holt, R. (1983). The UNIX System and Tunis. Reading. Concurrent Euclid, Addison-Wesley.
21. Hyper-Heuristic Approach for Multi-Objective Software Module Clustering10.1016/j.jss.2016.04.007 ↗
22. Genetic Algorithms for Multiobjective Optimization: Formulation Discussion and Generalization
23. Multiobjective optimization and multiple constraint handling with evolutionary algorithms10.1109/3468.650319 ↗
24. Muiltiobjective optimization using nondominated sorting in genetic algorithms10.1162/evco.1994.2.3.221 ↗
25. Deb, K., and Goel, T. (2001, January 7–9). Controlled elitist non-dominated sorting genetic algorithms for better convergence. Proceedings of the International Conference on Evolutionary Multi-Criterion Optimization, Zurich, Switzerland.10.1007/3-540-44719-9_5 ↗
26. Zitzler, E., Laumanns, M., and Thiele, L. (2001). SPEA2: Improving the Strength Pareto Evolutionary Algorithm, ETH Library. TIK. Report.
27. Multiobjective evolutionary algorithms: Analyzing the state-of-the-art, Evolutionary Computation10.1162/106365600568158 ↗
28. Multiobjective evolutionary algorithms: A comparative case study and the strength Pareto approach10.1109/4235.797969 ↗
29. Software module clustering algorithm using probability selection10.1007/s11859-018-1299-9 ↗
30. Praditwong, K. (2011, January 11–13). Solving software module clustering problem by evolutionary algorithms. Proceedings of the Eighth International Joint Conference on Computer Science and Software Engineering (JCSSE), Nakhonpathom, Thailand.10.1109/JCSSE.2011.5930112 ↗
31. Doval, D., Mancoridis, S., and Mitchell, B. (1999, January 2). Automatic clustering of software systems using a genetic algorithm. Proceedings of the STEP ‘99. Proceedings Ninth International Workshop Software Technology and Engineering Practice, Pittsburgh, PA, USA.
32. Choice function based hyper-heuristics for multi-objective optimization10.1016/j.asoc.2014.12.012 ↗
33. Burke, E., Kendall, G., Newall, J., Hart, E., Ross, P., and Schulenburg, S. (2003). Hyper-heuristics: An emerging direction in modern search technology. Handbook of Metaheuristics, Springer.10.1007/0-306-48056-5_16 ↗
34. Hybridisations within a graph based hyper-heuristic framework for university timetabling problems10.1057/jors.2008.102 ↗
35. Hussin, N. (2005). Tabu Search Based Hyper-Heuristic Approaches for Examination Timetabling School of Computer Science and Information Technology. [Ph.D. Thesis, University of Nottingham].
36. (2021, April 16). npm. Available online: https://www.npmjs.com/package/telnet2.
37. A review of multiobjective test problems and a scalable test problem toolkit10.1109/TEVC.2005.861417 ↗
38. Estimating the Optimal Number of Clusters in Categorical Data Clustering by Silhouette Coefficient10.1007/978-981-15-1209-4_1 ↗
39. Czibula, I. (2017, January 21–24). Hierarchical Clustering for Software Systems Restructuring. Proceedings of the 19th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), Timisoara, Romania.