FP-ABC: Fuzzy-Pareto dominance driven artificial bee colony algorithm for many-objective software module clustering

Abstract Recently, multi-objective evolutionary algorithms (MOEAs) gained wide attention to solve various search-based software engineering (SBSE) problems. The formulation of software module clustering problem (SMCP) as SBSE problem facilitates the application of many MOEAs. Even though MOEAs are being used successfully to solve the SMCPs, the performance of Pareto-dominance based MOEAs degrade if the number of objective functions is greater than three. To address the large and complex many-objective SMCPs (MaSMCPs), changes in MOEAs are essential. This paper proposes a Fuzzy-Pareto dominance driven Artificial bee colony (FP-ABC) to solve the MaSMCPs effectively and efficiently. In this contribution, fuzzy-Pareto dominance and two external archive concepts have been integrated into artificial bee colony (ABC) algorithm. The fuzzy-Pareto dominance improves the selection process of candidate solution and two external archives concept helps in balancing the convergence and diversity. To validate the supremacy of the proposed approach, a comparative study is performed with the existing many-objective optimization algorithms such as Two-Arch2, NSGA-III, MOEA/D, and IBEA, over seven real-world problems. The statistical analysis of the results indicates that the proposed approach outperforms existing approaches in terms of modularization quality ( MQ ), coupling, cohesion, and Inverted Generational Distance (IGD).

[1]  K. K. Aggarwal,et al.  Measurement of object-oriented software spatial complexity , 2004, Inf. Softw. Technol..

[2]  Tim Menzies,et al.  Scalable product line configuration: A straw to break the camel's back , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[3]  Eckart Zitzler,et al.  Indicator-Based Selection in Multiobjective Search , 2004, PPSN.

[4]  Onaiza Maqbool,et al.  Hierarchical Clustering for Software Architecture Recovery , 2007, IEEE Transactions on Software Engineering.

[5]  Carlos A. Coello Coello,et al.  Alternative Fitness Assignment Methods for Many-Objective Optimization Problems , 2009, Artificial Evolution.

[6]  Evan J. Hughes Fitness Assignment Methods for Many-Objective Problems , 2008, Multiobjective Problem Solving from Nature.

[7]  Sebastián Ventura,et al.  On the performance of multiple objective evolutionary algorithms for software architecture discovery , 2014, GECCO.

[8]  Marouane Kessentini,et al.  Preference-Based Many-Objective Evolutionary Testing Generates Harder Test Cases for Autonomous Agents , 2013, SSBSE.

[9]  Cai Dai,et al.  A new evolutionary algorithm based on contraction method for many-objective optimization problems , 2014, Appl. Math. Comput..

[10]  Martin J. Oates,et al.  PESA-II: region-based selection in evolutionary multiobjective optimization , 2001 .

[11]  Derek Rayside,et al.  Comparison of exact and approximate multi-objective optimization for software product lines , 2014, SPLC.

[12]  Dervis Karaboga,et al.  AN IDEA BASED ON HONEY BEE SWARM FOR NUMERICAL OPTIMIZATION , 2005 .

[13]  Spiros Mancoridis,et al.  Using Heuristic Search Techniques To Extract Design Abstractions From Source Code , 2002, GECCO.

[14]  Marjan Mernik,et al.  A parameter control method of evolutionary algorithms using exploration and exploitation measures with a practical application for fitting Sovova's mass transfer model , 2013, Appl. Soft Comput..

[15]  Manolis Papadrakakis,et al.  A Hybrid Particle Swarm—Gradient Algorithm for Global Structural Optimization , 2010, Comput. Aided Civ. Infrastructure Eng..

[16]  Xin Yao,et al.  Two_Arch2: An Improved Two-Archive Algorithm for Many-Objective Optimization , 2015, IEEE Transactions on Evolutionary Computation.

[17]  K. K. Aggarwal,et al.  Code and data spatial complexity: two important software understandability measures , 2003, Inf. Softw. Technol..

[18]  Jitender Kumar Chhabra,et al.  An empirical study of the sensitivity of quality indicator for software module clustering , 2014, 2014 Seventh International Conference on Contemporary Computing (IC3).

[19]  Kata Praditwong,et al.  Solving software module clustering problem by evolutionary algorithms , 2011, 2011 Eighth International Joint Conference on Computer Science and Software Engineering (JCSSE).

[20]  M. Barros An analysis of the effects of composite objectives in multiobjective software module clustering , 2012, GECCO '12.

[21]  Kalyanmoy Deb,et al.  An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints , 2014, IEEE Transactions on Evolutionary Computation.

[22]  Spiros Mancoridis,et al.  Automatic clustering of software systems using a genetic algorithm , 1999, STEP '99. Proceedings Ninth International Workshop Software Technology and Engineering Practice.

[23]  M. P. Gupta,et al.  Software module clustering using a hyper-heuristic based multi-objective genetic algorithm , 2013, 2013 3rd IEEE International Advance Computing Conference (IACC).

[24]  Alastair Farrugia Vertex-Partitioning into Fixed Additive Induced-Hereditary Properties is NP-hard , 2004, Electron. J. Comb..

[25]  Yang Liu,et al.  Collaborative Security , 2015, ACM Comput. Surv..

[26]  Gordon Fraser,et al.  Parameter tuning or default values? An empirical investigation in search-based software engineering , 2013, Empirical Software Engineering.

[27]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[28]  Justin D. Christian,et al.  Nonexistence Results for Hadamard-like Matrices , 2004, Electron. J. Comb..

[29]  Surender Singh Dahiya,et al.  Application of Artificial Bee Colony Algorithm to Software Testing , 2010, 2010 21st Australian Software Engineering Conference.

[30]  A. Charan Kumari,et al.  Hyper-heuristic approach for multi-objective software module clustering , 2016, J. Syst. Softw..

[31]  Marco Laumanns,et al.  SPEA2: Improving the strength pareto evolutionary algorithm , 2001 .

[32]  Markus Wagner,et al.  Approximation-Guided Evolutionary Multi-Objective Optimization , 2011, IJCAI.

[33]  Xin Yao,et al.  Software Module Clustering as a Multi-Objective Search Problem , 2011, IEEE Transactions on Software Engineering.

[34]  Xianneng Li,et al.  Artificial bee colony algorithm with memory , 2016, Appl. Soft Comput..

[35]  Mohamed Wiem Mkaouer,et al.  High dimensional search-based software engineering: finding tradeoffs among 15 objectives for automating software refactoring using NSGA-III , 2014, GECCO.

[36]  Tim Menzies,et al.  On the value of user preferences in search-based software engineering: A case study in software product lines , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[37]  Xin Yao,et al.  Some Recent Work on Multi-objective Approaches to Search-Based Software Engineering , 2013, SSBSE.

[38]  Fei Jiang,et al.  An improved artificial bee colony algorithm for directing orbits of chaotic systems , 2011, Appl. Math. Comput..

[39]  Ali Safari Mamaghani,et al.  Clustering of Software Systems Using New Hybrid Algorithms , 2009, 2009 Ninth IEEE International Conference on Computer and Information Technology.

[40]  Marjan Mernik,et al.  Exploration and exploitation in evolutionary algorithms: A survey , 2013, CSUR.

[41]  Marjan Mernik,et al.  Parameter tuning with Chess Rating System (CRS-Tuning) for meta-heuristic algorithms , 2016, Inf. Sci..

[42]  Reza Akbari,et al.  A multi-objective artificial bee colony algorithm , 2012, Swarm Evol. Comput..

[43]  Mark Harman,et al.  A multiple hill climbing approach to software module clustering , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[44]  Tülay Yildirim,et al.  Performance Evaluation of Evolutionary Algorithms for Optimal Filter Design , 2012, IEEE Transactions on Evolutionary Computation.

[45]  Marco Torchiano,et al.  Assessing the Effect of Screen Mockups on the Comprehension of Functional Requirements , 2014, TSEM.

[46]  Hashim A. Hashim,et al.  Optimal placement of relay nodes in wireless sensor network using artificial bee colony algorithm , 2016, J. Netw. Comput. Appl..

[47]  Khaled Ghédira,et al.  The r-Dominance: A New Dominance Relation for Interactive Evolutionary Multicriteria Decision Making , 2010, IEEE Transactions on Evolutionary Computation.

[48]  Jitender Kumar Chhabra,et al.  Harmony search based remodularization for object-oriented software systems , 2017, Comput. Lang. Syst. Struct..

[49]  Quan-Ke Pan,et al.  An Effective Artificial Bee Colony Algorithm for a Real-World Hybrid Flowshop Problem in Steelmaking Process , 2013, IEEE Transactions on Automation Science and Engineering.

[50]  Emden R. Gansner,et al.  Bunch: a clustering tool for the recovery and maintenance of software system structures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[51]  Mark Harman,et al.  An empirical study of the robustness of two module clustering fitness functions , 2005, GECCO '05.

[52]  Tapabrata Ray,et al.  A Decomposition-Based Evolutionary Algorithm for Many Objective Optimization , 2015, IEEE Transactions on Evolutionary Computation.

[53]  Jing Liu,et al.  A similarity-based modularization quality measure for software module clustering problems , 2016, Inf. Sci..

[54]  Xin Yao,et al.  Many-Objective Evolutionary Algorithms , 2015, ACM Comput. Surv..

[55]  Carlos A. Coello Coello,et al.  Ranking Methods for Many-Objective Optimization , 2009, MICAI.

[56]  Marjan Mernik,et al.  Analysis of exploration and exploitation in evolutionary algorithms by ancestry trees , 2011 .

[57]  Mark Harman,et al.  A New Representation And Crossover Operator For Search-based Optimization Of Software Modularization , 2002, GECCO.

[58]  Lily Rachmawati,et al.  Multiobjective Evolutionary Algorithm With Controllable Focus on the Knees of the Pareto Front , 2009, IEEE Transactions on Evolutionary Computation.

[59]  K. Atashkari,et al.  Multi-objective optimization of power and heating system based on artificial bee colony , 2011, 2011 International Symposium on Innovations in Intelligent Systems and Applications.

[60]  Jitender Kumar Chhabra,et al.  Improving package structure of object-oriented software using multi-objective optimization and weighted class connections , 2017, J. King Saud Univ. Comput. Inf. Sci..

[61]  Mohamed Wiem Mkaouer,et al.  On the use of many quality attributes for software refactoring: a many-objective search-based software engineering approach , 2016, Empirical Software Engineering.

[62]  M. Koppen,et al.  A fuzzy scheme for the ranking of multivariate data and its application , 2004, IEEE Annual Meeting of the Fuzzy Information, 2004. Processing NAFIPS '04..

[63]  Hailin Liu,et al.  A method for distributing reference points uniformly along the Pareto front of DTLZ test functions in many-objective evolutionary optimization , 2015, 2015 5th International Conference on Information Science and Technology (ICIST).

[64]  Qingfu Zhang,et al.  MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition , 2007, IEEE Transactions on Evolutionary Computation.

[65]  Mark Harman,et al.  Experimental assessment of software metrics using automated refactoring , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[66]  Carlos A. Coello Coello,et al.  Online Objective Reduction to Deal with Many-Objective Problems , 2009, EMO.

[67]  Nicola Beume,et al.  SMS-EMOA: Multiobjective selection based on dominated hypervolume , 2007, Eur. J. Oper. Res..

[68]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[69]  Jitender Kumar Chhabra,et al.  Improving modular structure of software system using structural and lexical dependency , 2017, Inf. Softw. Technol..

[70]  Dun-Wei Gong,et al.  Evolutionary algorithms with preference polyhedron for interval multi-objective optimization problems , 2013, Inf. Sci..

[71]  H. T. Jadhav,et al.  Temperature dependent optimal power flow using g-best guided artificial bee colony algorithm , 2016 .

[72]  Aurora Trinidad Ramirez Pozo,et al.  Using reference points to update the archive of MOPSO algorithms in Many-Objective Optimization , 2014, Neurocomputing.

[73]  Emden R. Gansner,et al.  Using automatic clustering to produce high-level system organizations of source code , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[74]  Marjan Mernik,et al.  Replication and comparison of computational experiments in applied evolutionary computing: Common pitfalls and guidelines to avoid them , 2014, Appl. Soft Comput..

[75]  Minghao Yin,et al.  Hybrid differential evolution with artificial bee colony and its application for design of a reconfigurable antenna array with discrete phase shifters , 2012 .

[76]  Elizabeth Elias,et al.  Artificial bee colony algorithm for the design of multiplier-less nonuniform filter bank transmultiplexer , 2012, Inf. Sci..

[77]  Dervis Karaboga,et al.  On clarifying misconceptions when comparing variants of the Artificial Bee Colony Algorithm by offering a new implementation , 2015, Inf. Sci..

[78]  Eckart Zitzler,et al.  HypE: An Algorithm for Fast Hypervolume-Based Many-Objective Optimization , 2011, Evolutionary Computation.

[79]  Adnan Shaout,et al.  Many-Objective Software Remodularization Using NSGA-III , 2015, TSEM.