## MULTI-START JAYA ALGORITHM FOR SOFTWARE MODULE CLUSTERING PROBLEM

- Details
- Hits: 2988

Volume 1 (1), July 2018, Pages 87-112

Kamal Z. Zamli^{1}, Abdulrahman Alsewari^{2}, Bestoun S. Ahmed^{3}

^{1 }IBM Centre of Excellence, Faculty of Computer Systems and Software Engineering, Universiti Malaysia Pahang, Pahang, Malaysia, This email address is being protected from spambots. You need JavaScript enabled to view it.

^{2 }Faculty of Computer Systems and Software Engineering,Universiti Malaysia Pahang, Pahang, Malaysia, This email address is being protected from spambots. You need JavaScript enabled to view it.

^{3 }Department of Computer Science, Faculty of Electrical Engineering, Czech Technical University, Prague, Czech Republic, This email address is being protected from spambots. You need JavaScript enabled to view it.

# Abstract

Jaya algorithm has gained considerable attention lately due to its simplicity and requiring no control parameters (i.e. parameter free). Despite its potential, Jaya algorithm is inherently designed for single objective problems. Additionally, Jaya is limited by the intense conflict between exploration (i.e. roams the random search space at the global scale) and exploitation (i.e. neighborhood search by exploiting the current good solution). Thus, Jaya requires better control for exploitation and exploration in order to prevent premature convergence and avoid being trapped in local optima. Addressing these issues, this paper proposes a new multi-objective Jaya variant with a multi-start adaptive capability and Cuckoo search like elitism scheme, called MS-Jaya, to enhance its exploitation and exploration allowing good convergence while permitting more diverse solutions. To assess its performances, we adopt MS-Jaya for the software module clustering problem. Experimental results reveal that MS-Jaya exhibits competitive performances against the original Jaya and state-of-the-art parameter free meta-heuristic counterparts consisting of Teaching Learning based Optimization (TLBO), Global Neighborhood Algorithm (GNA), Symbiotic Optimization Search (SOS), and Sine Cosine Algorithm (SCA).

# Keywords:

Search based Software Engineering, Software Module Clustering Problem, Parameter Free Meta-Heuristic Algorithm, Jaya Algorithm, Computational Intelligence

DOI: https://doi.org/10.32010/26166127.2018.1.1.87.112

# References

[1]. Holland, J. H. (1975) Adaptation in Natural and Artificial Systems. University of Michigan Press.

[2]. Kennedy, J., Eberhart, R. (1995) Particle Swarm Optimization, Proceedings of the IEEE International Conference Neural Networks, pp. 1942-1948. Perth, Australia.

[3]. Geem, Z. W. (2009) Music-Inspired Harmony Search Algorithm: Theory and Applications, Studies in Computational Intelligence, Springer.

[4]. Dorigo, M., Maniezzo, V., Colorni, A. (1996) Ant System: Optimization by a Colony of Cooperating Agents, IEEE Transactions on Computes Systems, Man, and Cybernetics, Part B: Cybernetics, 26, 29-41.

[5]. Yang, X.S., Deb, S. (2009) Cuckoo Search via Levy Flight, Proceedings of World Congress on Nature and Biologically Inspired Computing, pp. 210-214.

[6]. Rao, R. V. (2016) Jaya: A Simple and New Optimization Algorithm for Solving Constrained and Unconstrained Optimization Problems, International Journal of Industrial Engineering Computations, 7, 19-24.

[7]. Rao, R. V., Savsani, V. J., Vakharia, D. P. (2012) Teaching-Learning-Based Optimization: An Optimization Method for Continous Non-linear Large Scale Problem, Information Sciences, 183, 1-15.

[8]. Cheng, M.Y., Prayogo, D. (2014) Symbiotic Organisms Search: A New MetaHeuristic Optimization Algorithm, Computers and Structures, 139, 98-102.

[9]. Mirjalili, S. (2016) SCA: A Sine Cosine Algorithm for Solving Optimization Problems, Knowledge Based Systems, 96, 120-133.

[10]. Bashiri, M., Amiri, A., Doroudyan, M. H., Asgari, A. (2013) Multi-Objective Genetic Algorithm for Economic Statistical Design of X Control Chart, Scientia Iranica Transactions E: Industrial Engineering, 20, 909-918.

[11]. Flemming, P. J. (1985) Computer Aided Control Systems Using a Multi-Objective Optimization Approach, Proceedings of the IEEE Control'85 Conference, pp. 174-179.

[12]. Alazzam, A., Lewis, H. W. (2013) A New Optimization Algorithm For Combinatorial Problems, International Journal of Advanced Research in Artificial Intelligence, 2, 63-68.

[13]. Mitchell, B. S., Mancoridis, S. (2006) On the Automatic Modularization of Software Systems using the Bunch Tool, IEEE Transactions on Software Engineering, 32, 193-208.

[14]. Praditwong, K., Harman, M., Yao, X. (2011) Software Module Clustering as a MultiObjective Search Problem, IEEE Transactions on Software Engineering, 37, 264-282.

[15]. Burd, E., Munro, M. (1998) Investigating Component-based Maintenance and the Effect of Software Evolution: A Reengineering Approach using Data Clustering, Proceedings of the International Conference on Software Maintenance, pp. 199-207.

[16]. Lucca, G. A. D., Fasolino, A. R., Pace, F., Tramontana, P., Carlini, U. D. (2002) Comprehending Web Applications by a Clustering-based Approach, Proceedings 10th International Workshop on Program Comprehension, pp. 261-270.

[17]. Jahnke, J. H. (2004) Reverse Engineering Software Architecture using Rough Clusters, Proceedings of the IEEE Annual Meeting of the Fuzzy Information Processing, pp. 4-9 [18]. Zamli, K. Z., Alkazemi, B. Y., Kendall, G. (2016) A Tabu Search Hyper-Heuristic Strategy for t-way Test Suite Generation, Applied Soft Computing Journal, 44, 57-74.

[19]. Zamli, K. Z., Din, F., Ahmed, B.S., Bures, M. (2018) A Hybrid Q-learning Sinecosine-based Strategy for Addressing the Combinatorial Test Suite Minimization Problem, PLoS ONE, 13.

[20]. Nasser, A. B., Zamli, K.Z., Alsewari, A.R.A., Ahmed, B.S. (2018) Hybrid Flower Pollination Algorithm Strategies for t-way Test Suite Generation, PLoS ONE, 13.

[21]. Ahmed, B. S., Zamli, K. Z., Afzal, W., Bures, M. (2017) Constrained Interaction Testing: A Systematic Literature Review, IEEE Access, 5, 25706 - 25730.

[22]. Taylor, R. N., Medvidovic, N., Dashofy, E. M. (Ed.) (2009) Software Architecture: Foundations, Theory, and Practice, New-York: John Wile and Sons.

[23]. Sommerville, I. (Ed.) (2001) Software Engineering, Boston: Addison-Wesley.

[24]. Gordon, A. D. (Ed.) (1999) Classification, Boca Raton: Chapman and Hall/CRC.

[25]. Mahdavi, K., Harman, M., Hierons, R. M. (2003) A Multiple Hill Climbing Approach to Software Module Clustering, Proceedings of the International Conference on Software Maintenance, pp. 315-324.

[26]. Praditwong, K. (2011) Solving Software Module Clustering Problem by Evolutionary Algorithms, Proceedings of the 8th International Joint Conference on Computer Science and Software Engineering, pp. 154-159.

[27]. Doval, D., Mancoridis, S., Mitchell, B. S. (1999) Automatic Clustering of Software Systems using a Genetic Algorithm, Proceedings of the Software Technology and Engineering Practice, pp. 73-81.

[28]. Kumari, A. C., Srinivas, K. (2016) Hyper-heuristic Approach for Multi-Objective Software Module Clustering, Journal of Systems and Software, 117, pp. 384-401.

[29]. Huang, J., Liu, J., Yao, X. (2017) A Multi-Agent Evolutionary Algorithm for Software Module Clustering Problems, Soft Computing, 21, 3415-3428.

[30]. Zamli, K. Z., Din, F., Baharom, S., Ahmed, B. S. (2017) Fuzzy Adaptive Teaching Learning-based Optimization Strategy for the Problem of Generating Mixed Strength t-way Test Suite, Engineering Applications of Artificial Intelligence, 59, 35-50.

[31]. Rao, R. V., Rai, D. P., Balic, J. (2017) A Multi-Objective Algorithmfor Optimization of Modern Machining Processes, Engineering Applications of Artificial Intelligence, 61, 103-125.

[32]. Zamli, K. Z., Din, F., Kendall, G., Ahmed, B. S. (2017) An Experimental Study of Hyper-Heuristic Selection and Acceptance Mechanism for Combinatorial t-way Test Suite Generation, Information Sciences, 399, 121-153.

[33]. Rao, R. V., More, K. C. (2017) Design Optimization and Analysis of Selected Thermal Devices using Self-Adaptive Jaya Algorithm, Energy Conversion and Management, 140, 24-35.

[34]. Rao, R. V., Saroj, A. A Self-Adaptive Multi-Population based Jaya Algorithm for Engineering Optimization, Swarm and Evolutionary Computation, 37, 1-26.

[35]. Salwani, A., Laleh, G., Mohd Zakree, A. N. (2011) Re-Heat Simulated Annealing Algorithm for Rough Set Attribute Reduction, International Journal of the Physical Sciences, 6, 2083-2089.

[36]. Knowles, J. D., Corne, D. W. (1999) The Pareto Archived Evolution Strategy: A New Baseline Algorithm for Pareto Multi-Objective Optimization, Proceedings of the Congress on Evolutionary Computation (CEC ’99), pp.98-105.

[37]. Barros, M. (June 2017) MDGs Benchmark. Retrieved from https://github.com/ cmsp/ils.

[38]. Hall, M., McMinn, P., Walkinshaw, N. (2010) Superstate Identification for State Machines using Search-Based Clustering, Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation, pp. 1381-1388.

[39]. Damas, C., Lambeau, B., Dupont, P., Lamsweerde, A. V. (2005) Generating Annotated Behavior Models from End-User Scenarios, IEEE Transactions on Software Engineering, 31, 1056-1073.

[40]. Romera, M. E. (2000) Using Finite Automata to represent Mental Models, MSc Thesis, Department of Psychology, San Jose State University.