Soft Computing

, Volume 22, Issue 19, pp 6341–6361 | Cite as

Many-objective artificial bee colony algorithm for large-scale software module clustering problem

  • Amarjeet
  • Jitender Kumar Chhabra
Methodologies and Application


The meta-heuristic search algorithms have been widely applied to solve the various science and engineering optimization problems. However, the performance of these algorithms is highly sensitive toward the number of objective functions and number of decision variables. Recently, it has been explored by the researchers that the performance of such algorithm degrades when the number of objective functions and decision variables increases by some limit. Hence, these algorithms can be hardly acceptable to the real-world optimization problems such as software module clustering problem (SMCP), which contains a large number of objective functions and decision variables. Previous researchers have proposed several approaches to address the many-objective optimization problems by revising existing meta-heuristic algorithms. Recently, an artificial bee colony algorithm (ABC), a meta-heuristic algorithm, effectively used to address the several multi-objective optimization problems. Even though in most of the cases ABC algorithm performs better compared to other meta-heuristic algorithms, it faces the same problems as other meta-heuristic algorithms for a large number of objective functions and decision variables. This paper proposes a many-objective artificial bee colony (MaABC) algorithm to solve many-objective SMCPs. In this contribution, we revised the original ABC by using, quality indicator, \(L_{p}\)-norm-based (p < 1) distances, and two external archives concepts. To validate the proposed approach, an extensive comparative study is performed with the existing many-objective optimization algorithms (i.e., Two-Arch2, NSGA-III, MOEA/D, and IBEA) over seven SMCPs. The statistical analysis of the results show that the proposed MaABC outperforms existing many-objective approaches in terms of modularization quality (MQ), cohesion, coupling, and inverted generational distance (IGD).


Artificial bee colony Meta-heuristic algorithm Many-objective optimization Software module clustering 


Compliance with ethical standards

Conflict of interest

The authors declare that they have no conflict of interest

Human participants

This study does not contain any studies with human participants or animals performed by any of the authors.


  1. Aggarwal CC, Hinneburg A, Keim DA (2001) On the surprising behavior of distance metrics in high dimensional space. Springer, New YorkCrossRefzbMATHGoogle Scholar
  2. Akay B, Karaboga D (2012) A modified artificial bee colony algorithm for real parameter optimization. Inf Sci 192:120–142CrossRefGoogle Scholar
  3. Amarjeet P, Chhabra JK (2014) An empirical study of the sensitivity of quality indicator for software module clustering. In: 2014 seventh international conference on contemporary computing (IC3), Noida, pp 206–211Google Scholar
  4. Amarjeet P, Chhabra JK (2015) Improving package structure of object-oriented software using multi-objective optimization and weighted class connections. J King Saud Univ Comput Inf Sci. Available online 2 November 2015Google Scholar
  5. Amarjeet P, Chhabra JK (2016) Harmony search based remodularization for object-oriented software systems. Comput Lang, Syst Struct 47:153–169Google Scholar
  6. Amarjeet P, Chhabra JK (2017a) TA-ABC: two-archive artificial bee colony for multi-objective software module clustering problem. J Intell Syst. doi: 10.1515/jisys-2016-0253 Google Scholar
  7. Amarjeet P, Chhabra JK (2017b) Improving modular structure of software system using structural and lexical dependency. Inf Softw Technol 82:96–120CrossRefGoogle Scholar
  8. Amarjeet P, Chhabra JK (2017c) Improving package structure of object-oriented software using multi-objective optimization and weighted class connections. J King Saud Univ-Comput Inf Sci 29(3):349–364Google Scholar
  9. Arcuri A, Fraser G (2013) Parameter tuning or default values? An empirical investigation in search-based software engineering. Empir Softw Eng 18(3):594–623CrossRefGoogle Scholar
  10. Asafuddoula M, Ray T, Sarker R (2015) A decomposition-based evolutionary algorithm for many objective optimization. IEEE Trans Evolut Comput 19(3):445–460CrossRefGoogle Scholar
  11. Bader J, Zitzler E (2011) HypE: an algorithm for fast hypervolume-based many-objective optimization. Evolut Comput 1(19):45–76CrossRefGoogle Scholar
  12. Barros M (2012) An analysis of the effects of composite objectives in multi-objective software module clustering. In: Proceedings of the fourteenth international conference on genetic and evolutionary computation, pp 1205–1212Google Scholar
  13. Bingdong L, Jinlong L, Tang K, Xin Y (2015) Many-objective evolutionary algorithms: a survey. ACM Comput Surv 48(1):1–37Google Scholar
  14. Cai D, Yuping W, Miao Y (2014) A new evolutionary algorithm based on contraction method for many-objective optimization problems. Appl Math Comput 247:191–205MathSciNetzbMATHGoogle Scholar
  15. Cinnéide M, Tratt L, Harman M, Counsell S, Moghadam IH (2012) Experimental Assessment of Software Metrics Using Automated Refactoring. In: Proceedings of the ACM-IEEE international symposium on empirical software engineering and measurement. pp 49–58Google Scholar
  16. Coello CA (1996) An empirical study of evolutionary techniques for multiobjective optimization in engineering design. PhD thesis, Department of Computer Science, Tulane University, New Orleans, LAGoogle Scholar
  17. Coello CA, Christiansen AD (1998) Two new GA-based methods for multiobjective optimization. Civil Eng Syst 15(3):207–243CrossRefGoogle Scholar
  18. Corne D, Jerram N, Knowles J, Oates M (2001) PESA-II: region-based selection in evolutionary multiobjective optimization. In: Proceedings of the 3rd annual conference on genetic evolutionary computation, pp 283–290Google Scholar
  19. Črepinšek M, Liu SH, Mernik M (2014) Replication and comparison of computational experiments in applied evolutionary computing: common pitfalls and guidelines to avoid them. Appl Soft Comput 19:161–170CrossRefGoogle Scholar
  20. Dahiya SS, Chhabra JK, Kumar S (2010) application of artificial bee colony algorithm to software testing. In: 2010 21st Australian software engineering conference, Auckland, pp 149–154Google Scholar
  21. Deb K, Jain H (2014) An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: Solving problems with box constraints. IEEE Trans Evolut Comput 18(4):577–601CrossRefGoogle Scholar
  22. Deb K, Agrawal S, Pratap A, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6(2):182–197CrossRefGoogle Scholar
  23. Doval D, Mitchell BS, Mancoridis S (1999), Automatic clustering of software systems using a genetic algorithm. In: Proceedings of IEEE conference on software technology and engineering practice (1999), pp 73–81Google Scholar
  24. Garza-Fabre N, Pulido GT, Coello CAC (2009) Ranking methods for many-objective optimization. In: Advances in artificial intelligence MICAI 2009, pp 633–645Google Scholar
  25. Garza-Fabre N, Pulido GT, Coello CAC (2010) Alternative fitness assignment methods for manyobjective optimization problems. In: Artificial evolution, pp 146–157Google Scholar
  26. Gong D, Sun J, Ji X (2013) Evolutionary algorithms with preference polyhedron for interval multiobjective optimization problems. Inf Sci 233:141–161CrossRefzbMATHGoogle Scholar
  27. Hadka D, Reed P (2013) Borg: an auto-adaptive many-objective evolutionary computing framework. Evolut Comput 21(2):231–259CrossRefGoogle Scholar
  28. Harman M, Hierons R, Proctor M (2002) A new representation and crossover operator for search-based optimization of software modularization. In: Proceedings of the genetic and evolutionary computation conference, pp 1351–1358Google Scholar
  29. Harman M, Jones BF (2001) Search-based software engineering. Inf Softw Technol 43(14):833–839CrossRefGoogle Scholar
  30. Harman M, Swift S, Mahdavi K (2005) An empirical study of the robustness of two module clustering fitness functions. In: Proceedings of the 7th annual conference on Genetic and evolutionary computationGoogle Scholar
  31. Hashim A, Hashim BO, Ayinde MA, Abido M (2016) Optimal placement of relay nodes in wireless sensor network using artificial bee colony algorithm. J Netw Comput Appl 64:239–248CrossRefGoogle Scholar
  32. Hughes EJ (2008) Fitness assignment methods for many-objective problems. In: Multi-objective problem solving from nature. From concepts to application, pp 307–329Google Scholar
  33. Jadhav HT, Bamane PD (2016) Temperature dependent optimal power flow using g-best guided artificial bee colony algorithm. Int J Electr Power Energ Syst 77:77–90CrossRefGoogle Scholar
  34. Jinhuang H, Jing L (2016) A similarity-based modularization quality measure for software module clustering problems. Inf Sci 342(10):96–110Google Scholar
  35. Kalboussi S, Bechikh S, Kessentini M, Said LB (2013), Preference-based many-objective evolutionary testing generates harder test cases for autonomous agents. In: Proceedings of the 5th international symposium on search-based software engineering, pp 245–250Google Scholar
  36. Karaboga D (2005) An idea based on honey bee swarm for numerical optimization. Technical Report-TR06, Erciyes University, Engineering Faculty, Computer Engineering DepartmentGoogle Scholar
  37. Karaboga D, Akay B (2009) A comparative study of artificial bee colony algorithm. Appl Math Comput 214(1):108–132MathSciNetzbMATHGoogle Scholar
  38. Karaboga D, Basturk B (2007) A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J Glob Optim 39(3):459–471MathSciNetCrossRefzbMATHGoogle Scholar
  39. Karaboga D, Basturk B (2008) On the performance of artificial bee colony (ABC) algorithm. Appl Soft Comput 8(1):687–697CrossRefGoogle Scholar
  40. Khare V, Yao X, Deb K (2003) Performance scaling of multi-objective evolutionary algorithms. In: Evolutionary multi-criterion optimization. Lecture notes in computer science. vol 2632, pp 376–390Google Scholar
  41. Kumari AC, Srinivas K (2016) Hyper-heuristic approach for multi-objective software module clustering. J Syst Softw 117:384–401CrossRefGoogle Scholar
  42. Kumari AC, Srinivas K, Gupta MP (2013) Software module clustering using a hyper-heuristic based multi-objective genetic algorithm. In: 2013 IEEE 3rd international advance computing conference (IACC), Ghaziabad, pp 813–818Google Scholar
  43. Laumanns M, Thiele L, Deb K, Zitzler E (2002) Combining convergence and diversity in evolutionary multi-objective optimization. Evolut Comput 10(3):263–282CrossRefGoogle Scholar
  44. Li X, Yin M (2012) Hybrid differential evolution with artificial bee colony and its application for design of a reconfigurable antenna array with discrete phase shifters. IET Microw Antenna Propag 6:1573–1582CrossRefGoogle Scholar
  45. Mahdavi K, Harman M, Hierons RM (2003) A multiple hill climbing approach to software module clustering. In: Proceedings of the international conference on software maintenance, pp 315–324Google Scholar
  46. Mancoridis S, Mitchell BS, Chen YF, Gansner ER (1999) Bunch: a clustering tool for the recovery and maintenance of software system structures. In: Proceedings of the IEEE international conference software maintenance, 1999, pp 50–59Google Scholar
  47. Mancoridis S, Mitchell BS, Chen YF, Rorres C, Gansner ER (1998) Using automatic clustering to produce high-level system organizations of source code. In: Proceedings of the international workshop program comprehension, pp 45–53Google Scholar
  48. Mitchell BS, Mancoridis S (2002) Using heuristic search techniques to extract design abstractions from source code. In: Proceedings of the genetic and evolutionary computation conference, pp 1375–1382Google Scholar
  49. Mitchell B.S, Mancoridis S, Traverso M (2004) Using interconnection style rules to infer software architecture relations. In: Proceedings of the conference on genetic and evolutionary computation, pp 1375-1387Google Scholar
  50. Mkaouer MW, Kessentini M, Bechikh S (2016) On the use of many quality attributes for software refactoring: a many-objective search-based software engineering approach. Empir Softw Eng 21(6):2503–2545CrossRefGoogle Scholar
  51. Mkaouer MW, Kessentini M, Bechikh S, Deb K, Cinnéide MO (2014) High dimensional search-based software engineering: finding tradeoffs among 15 objectives for automated software refactoring using NSGA-III. In: Proceedings of the genetic and evolutionary computation conference, pp 1263–1270Google Scholar
  52. Mkaouer MW, Kessentini M, Shaout A, Koligheu P, Bechikh S, Deb K, Ouni A (2015) Many objective software remodularization using NSGA-III. ACM Trans Softw Eng Methodol 24(3):1–17CrossRefGoogle Scholar
  53. Olaechea R, Rayside D, Guo J, Czarnecki K (2014) Comparison of exact and approximate multi-objective optimization for software product lines. In: Proceedings of the 18th international software product line conference, pp 92–101Google Scholar
  54. Parashar A, Chhabra JK (2016) An approach for clustering class coupling metrics to mine object oriented software components. Int Arab J Inf Technol (IAJIT) 13(3):239–248Google Scholar
  55. Pierro FD, Khu S-T, Savi’c DA (2007) An investigation on preference order ranking scheme for multi-objective evolutionary optimization. IEEE Trans Evolut Comput 11(1):17–45CrossRefGoogle Scholar
  56. Pierro FD, Khu ST, Savic DA (2007) An investigation on preference order ranking scheme for multiobjective evolutionary optimization. IEEE Trans Evolut Comput 11(1):17–45CrossRefGoogle Scholar
  57. Plevris P, Papadrakakis M (2011) A hybrid particle swarm-gradient algorithm for global structural optimization. Comput Aided Civil Infrastruct Eng 26:48–68Google Scholar
  58. Praditwong K (2011) Solving software module clustering problem by evolutionary algorithms. In: Eighth international joint conference on computer science and software engineering, pp 154–159Google Scholar
  59. Praditwong K, Harman M, Yao X (2011) Software module clustering as a multi-objective search problem. IEEE Trans Softw Eng 37(2):264–282CrossRefGoogle Scholar
  60. Praditwong K, Yao X (2006) A new multi-objective evolutionary optimization algorithm: the two-archive algorithm. In: Cheung Y-M, Wang Y, Liu H (eds) Proceedings of the international conference computational intelligence and security, vol 1, pp 286–291Google Scholar
  61. Praditwong K, Yao X (2007) How well do multi-objective evolutionary algorithms scale to large problems. In: Proceedings IEEE congress evolutionary computing (CEC), Singapore, pp 3959–3966Google Scholar
  62. Ramirez A, Romero JR, Ventura S (2014) On the performance of multiple objective evolutionary algorithms for software architecture discovery. In: Proceedings of the 2014 conference on genetic and evolutionary computation, pp 1287–1294Google Scholar
  63. Said LB, Bechikh S, Ghédira K (2013) The r-dominance: a new dominance relation for interactive evolutionary multicriteria decision making. Proc IEEE Trans Evolut Comput 14(5):801–818CrossRefGoogle Scholar
  64. Sayyad AS, Ingram J, Menzies T, Ammar H (2013) Scalable product line configuration: a straw to break the camel’s back. In: IEEE/ACM 28th international conference on automated software engineering, pp 465–474Google Scholar
  65. Sayyad AS, Menzies T, Ammar H (2013) On the value of user preferences in search-based software engineering: a case study in software product lines, pp 492–501Google Scholar
  66. Wang G, Jiang H (2007) Fuzzy-dominance and its application in evolutionary many objective optimization. In: Proceedings of the international conference on computational intelligence and security workshops, pp 195–198Google Scholar
  67. Wang H, Jiao L, Yao X (2015) Two_Arch2: an improved two-archive algorithm for many-objective optimization. IEEE Trans Evolut Comput 19(4):524–541CrossRefGoogle Scholar
  68. Xianneng L, Guangfei Y (2016) Artificial bee colony algorithm with memory. Appl Soft Comput 41:362–372CrossRefGoogle Scholar
  69. Yao X (2013) Some recent work on multi-objective approaches to search-based software engineering. In: Proceeding of the 5th symposium on search based software engineering, pp 4–15Google Scholar
  70. Yang S, Li M, Liu X, Zheng J (2013) A grid-based evolutionary algorithm for many-objective optimization. IEEE Trans Evolut Comput 17(5):721–736CrossRefGoogle Scholar
  71. Yuan Y, Xu H, Wang B, Yao X (2015) A new dominance relation based evolutionary algorithm for many-objective optimization. IEEE Trans Evolut Comput 20(1):16–37CrossRefGoogle Scholar
  72. Zhang Q, Li H (2007) MOEA/D: a multiobjective evolutionary algorithm based on decomposition. Proc IEEE Trans Evolut Comput 11(6):712–731CrossRefGoogle Scholar
  73. Zitzler E, Künzli S (2004) Indicator-based selection in multi-objective search. Parallel problem solving from nature–PPSN VIII. Springer, Berlin, pp 832–842CrossRefGoogle Scholar
  74. Zou X, Chen Y, Liu M, Kang L (2008) A new evolutionary algorithm for solving many-objective optimization problems. IEEE Trans Syst Man Cybern-Part B 38(5):1402–1412CrossRefGoogle Scholar
  75. Zitzler E, Laumanns M, Thiele L (2002) SPEA2: improving the strength Pareto evolutionary algorithm. In: Proceedings of the evolutionary methods design optimization control application, pp 95–100Google Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  1. 1.Department of Computer EngineeringNIT KurukshetraHaryanaIndia

Personalised recommendations