Software effort estimation using ensemble of hybrid search-based algorithms based on metaheuristic algorithms

Software effort estimation is an essential task for software organizations to allocate resources efficiently during the development of software and to negotiate with customers. Various machine learning techniques-based models are used to predict the efforts required for the development of software products. These models utilize the past data of software projects to predict the efforts. In the present work, software efforts are estimated with the weighted ensemble of hybrid search-based algorithms. Weighted ensembles are created with the help of metaheuristic algorithms like firefly algorithm, black hole optimization, and genetic algorithm. The weighted ensemble of hybrid search-based algorithms based on metaheuristics algorithms is compared with some well-known machine learning algorithms and machine learning-based ensemble techniques. All the experiments were performed on three datasets obtained from PROMISE repository. Experiments were performed in R programming language using RKEEL and MetaheuristicsOpt r packages. Obtained results showed that proposed metaheuristics algorithms-based weighted ensembles of hybrid search-based algorithms are good and outperformed machine learning-based algorithms and their ensembles for prediction of software effort.

[1]  Leo Breiman,et al.  Bagging Predictors , 1996, Machine Learning.

[2]  Janmenjoy Nayak,et al.  Advancement from neural networks to deep learning in software effort estimation: Perspective of two decades , 2020, Comput. Sci. Rev..

[3]  Tim Menzies,et al.  Feature subset selection can improve software cost estimation accuracy , 2005, ACM SIGSOFT Softw. Eng. Notes.

[4]  Zakrani abdelali,et al.  Investigating the use of random forest in software effort estimation , 2019, Procedia Computer Science.

[5]  Alain Abran,et al.  Improved estimation of software development effort using Classical and Fuzzy Analogy ensembles , 2016, Appl. Soft Comput..

[6]  Melanie Mitchell,et al.  An introduction to genetic algorithms , 1996 .

[7]  Tarek Helmy,et al.  Empirical Study of Homogeneous and Heterogeneous Ensemble Models for Software Development Effort Estimation , 2013 .

[8]  Xiaobo Zhang,et al.  An Optimization Model for Software Quality Prediction With Case Study Analysis Using MATLAB , 2019, IEEE Access.

[9]  Gufran Ahmad Ansari,et al.  Software fault prediction based on change metrics using hybrid algorithms: An empirical study , 2020, J. King Saud Univ. Comput. Inf. Sci..

[10]  Gufran Ahmad Ansari,et al.  Ensemble Techniques-Based Software Fault Prediction in an Open-Source Project , 2020, Int. J. Open Source Softw. Process..

[11]  Ruchika Malhotra,et al.  Particle swarm optimization-based ensemble learning for software change prediction , 2018, Inf. Softw. Technol..

[12]  Baowen Xu,et al.  Software effort estimation based on open source projects: Case study of Github , 2017, Inf. Softw. Technol..

[13]  Martin J. Shepperd,et al.  Comparing Software Prediction Techniques Using Simulation , 2001, IEEE Trans. Software Eng..

[14]  Ian H. Witten,et al.  Data mining: practical machine learning tools and techniques, 3rd Edition , 1999 .

[15]  Yuming Zhou,et al.  Examining the Potentially Confounding Effect of Class Size on the Associations between Object-Oriented Metrics and Change-Proneness , 2009, IEEE Transactions on Software Engineering.

[16]  Wasiur Rhmann,et al.  Application of Hybrid Search Based Algorithms for Software Defect Prediction , 2018 .

[17]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[18]  Mohammad Saber Fallahnezhad,et al.  Software effort estimation based on the optimal Bayesian belief network , 2016, Appl. Soft Comput..

[19]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[20]  Passakorn Phannachitta,et al.  On an optimal analogy-based software effort estimation , 2020, Inf. Softw. Technol..

[21]  Amit Konar,et al.  Computational Intelligence: Principles, Techniques and Applications , 2005 .

[22]  M. Stone Cross‐Validatory Choice and Assessment of Statistical Predictions , 1976 .

[23]  Rajib Mall,et al.  DABE: Differential evolution in analogy-based software development effort estimation , 2018, Swarm Evol. Comput..

[24]  Leo Breiman,et al.  Random Forests , 2001, Machine Learning.

[25]  Navdeep Kaur,et al.  Research patterns and trends in software effort estimation , 2017, Inf. Softw. Technol..

[26]  Pradeep Tomar,et al.  A New Model for Predicting Component-Based Software Reliability Using Soft Computing , 2019, IEEE Access.

[27]  Martin J. Shepperd,et al.  Estimating Software Project Effort Using Analogies , 1997, IEEE Trans. Software Eng..

[28]  Xin-She Yang,et al.  Firefly Algorithms for Multimodal Optimization , 2009, SAGA.

[29]  Luciano Sánchez A random sets-based method for identifying fuzzy models , 1998, Fuzzy Sets Syst..

[30]  Abdolreza Hatamlou,et al.  Black hole: A new heuristic optimization approach for data clustering , 2013, Inf. Sci..

[31]  Ian H. Witten,et al.  The WEKA data mining software: an update , 2009, SKDD.

[32]  Ben Hamner,et al.  Evaluation Metrics for Machine Learning [R package Metrics version 0.1.4] , 2018 .

[33]  Silvio Romero de Lemos Meira,et al.  A class of hybrid multilayer perceptrons for software development effort estimation problems , 2017, Expert Syst. Appl..

[34]  Wasiur Rhmann,et al.  Cross project defect prediction using hybrid search based algorithms , 2018, International Journal of Information Technology.

[35]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

[36]  Luca Maria Gambardella,et al.  A survey on metaheuristics for stochastic combinatorial optimization , 2009, Natural Computing.