Metaheuristic Algorithms in Optimizing Deep Neural Network Model for Software Effort Estimation

Effort estimation is the most critical activity for the success of overall solution delivery in software engineering projects. In this context, the paper’s main contributions to the literature on software effort estimation are twofold. First, this paper examines the application of meta-heuristic algorithms to have a logical and acceptable parametric model for software effort estimation. Secondly, to unravel the benefits of nature-inspired meta-heuristic algorithms usage in optimizing Deep Learning (DL) architectures for software effort estimation, this paper presents a Deep Neural Network (DNN) model for software effort estimation based on meta-heuristic algorithms. In this paper, Grey Wolf Optimizer (GWO) and StrawBerry (SB) meta-heuristic algorithms are applied for having a logical and acceptable parametric model for software effort estimation. To validate the performances of these two algorithms, a set of nine benchmark functions having wide dimensions is applied. Results from GWO and SB algorithms are compared with five other meta-heuristic algorithms used in literature for software effort estimation. Experimental results showed that the GWO has comprehensive superiority in terms of accuracy in estimation. The proposed DNN model (GWDNNSB) using meta-heuristic algorithms for initial weights and learning rate selection, produced better results compared to existing work on using DNN for software effort estimation.

[1]  Farhad Soleimanian Gharehchopogh,et al.  A Novel Hybrid Algorithm for Software Cost Estimation Based on Cuckoo Optimization and K-Nearest Neighbors Algorithms , 2016 .

[2]  Faiza Tahir,et al.  An Empirical Analysis of Cost Estimation Models on Undergraduate Projects Using COCOMO II , 2018, 2018 International Conference on Smart Computing and Electronic Enterprise (ICSCEE).

[3]  Fadi Almasalha,et al.  Pareto efficient multi-objective optimization for local tuning of analogy-based estimation , 2016, Neural Computing and Applications.

[4]  Umesh Kumar,et al.  Review of Various Software Cost Estimation Techniques , 2016 .

[5]  Jacky W. Keung,et al.  Duplex output software effort estimation model with self-guided interpretation , 2018, Inf. Softw. Technol..

[6]  Devendra K. Tayal,et al.  Integrating firefly algorithm in artificial neural network models for accurate software cost predictions , 2016, J. Softw. Evol. Process..

[7]  Manohar K Kodmelwar,et al.  A Deep Learning Modified Neural Network Used for Efficient Effort Estimation , 2018 .

[8]  Jürgen Börstler,et al.  Effort estimation in large-scale software development: An industrial case study , 2018, Inf. Softw. Technol..

[9]  Kamna Solanki,et al.  Software Reliability Estimation Using COCOMO II & Neuro Fuzzy Method , 2018 .

[10]  Manish Bhardwaj,et al.  Software Cost Estimation Models and Techniques: A Survey , 2014 .

[11]  Stephen G. MacDonell,et al.  Evaluating prediction systems in software project estimation , 2012, Inf. Softw. Technol..

[13]  S. M. K. Quadri,et al.  An improved particle swarm optimisation-based functional link artificial neural network model for software cost estimation , 2019 .

[14]  Nadeem Javaid,et al.  Energy Optimization in Smart Grid Using Grey Wolf Optimization Algorithm and Bacterial Foraging Algorithm , 2017, INCoS.

[15]  G R Bamnote,et al.  Whale–crow optimization (WCO)-based Optimal Regression model for Software Cost Estimation , 2019, Sādhanā.

[16]  Carmine Gravino,et al.  A systematic literature review of software effort prediction using machine learning methods , 2019, J. Softw. Evol. Process..

[17]  Nadeem Javaid,et al.  A New Meta-heuristic Optimization Algorithm Inspired from Strawberry Plant for Demand Side Management in Smart Grid , 2017, INCoS.

[18]  Ramakanta Mohanty,et al.  Application of Ant Colony Optimization Techniques to Predict Software Cost Estimation , 2017 .

[19]  Crina Grosan,et al.  Experienced Gray Wolf Optimization Through Reinforcement Learning and Neural Networks , 2018, IEEE Transactions on Neural Networks and Learning Systems.

[20]  Riyanarto Sarno,et al.  Optimizing Effort Parameter of COCOMO II Using Particle Swarm Optimization Method , 2018, TELKOMNIKA (Telecommunication Computing Electronics and Control).

[21]  Imad H. Elhajj,et al.  Software-Defined Networking (SDN): the security review , 2019, Journal of Cyber Security Technology.

[22]  Yousaf Bin Zikria,et al.  5G Mobile Services and Scenarios: Challenges and Solutions , 2018, Sustainability.

[23]  Vachik S. Dave,et al.  Neural network based models for software effort estimation: a review , 2014, Artificial Intelligence Review.

[24]  Vishal Jain,et al.  Neuro fuzzy—COCOMO II model for software cost estimation , 2018 .

[25]  Burak Turhan,et al.  Sharing Data and Models in Software Engineering , 2014 .

[26]  Munam Ali Shah,et al.  Software Cost and Effort Estimation using a New Optimization Algorithm Inspired by Strawberry Plant , 2018, 2018 24th International Conference on Automation and Computing (ICAC).

[27]  Suresh Chandra Satapathy,et al.  Software reusability metrics estimation: Algorithms, models and optimization techniques , 2017, Comput. Electr. Eng..

[28]  Anupama Kaushik,et al.  The Role of Neural Networks and Metaheuristics in Agile Software Development Effort Estimation , 2020, Int. J. Inf. Technol. Proj. Manag..

[29]  César A. Astudillo,et al.  Evaluating different families of prediction methods for estimating software project outcomes , 2016, J. Syst. Softw..

[30]  Farhad Soleimanian Gharehchopogh,et al.  A new approach by using Tabu search and genetic algorithms in Software Cost estimation , 2015, 2015 9th International Conference on Application of Information and Communication Technologies (AICT).

[31]  Kashi Nath Dey,et al.  Forecasting of software reliability using neighborhood fuzzy particle swarm optimization based novel neural network , 2019, IEEE/CAA Journal of Automatica Sinica.

[32]  Zhigang Zeng,et al.  Memory analysis for memristors and memristive recurrent neural networks , 2020, IEEE/CAA Journal of Automatica Sinica.

[33]  Monika Gupta,et al.  Proposing Effort Estimation of COCOMO II through Perceptron Learning Rule , 2013 .

[34]  Goldie Gabrani,et al.  Effort estimation models using evolutionary learning algorithms for software development , 2016, 2016 Symposium on Colossal Data Analysis and Networking (CDAN).

[35]  Marco Piras,et al.  Performance and Usability of Smartglasses for Augmented Reality in Precision Livestock Farming Operations , 2020 .

[36]  Vikrant Bhateja,et al.  Computer Communication, Networking and Internet Security , 2017 .

[37]  Anupama Kaushik,et al.  A hybrid model of wavelet neural network and metaheuristic algorithm for software development effort estimation , 2019, International Journal of Information Technology.

[38]  Avinash Singh,et al.  Optimizing Basic COCOMO Model Using Simplified Genetic Algorithm , 2016 .

[39]  Michael Segal,et al.  Reducing Interferences in VANETs , 2015, IEEE Transactions on Intelligent Transportation Systems.

[40]  Deepak Nandal,et al.  Software Cost Estimation by Optimizing COCOMO Model Using Hybrid BATGSA Algorithm , 2018, International Journal of Intelligent Engineering and Systems.

[41]  Harvir Singh,et al.  Optimizing Design of Fuzzy Model for Software Cost Estimation Using Particle Swarm Optimization Algorithm , 2020, Int. J. Comput. Intell. Appl..

[42]  Simon Fong,et al.  How meta-heuristic algorithms contribute to deep learning in the hype of big data analytics , 2018 .

[43]  Navdeep Kaur,et al.  Tuning of COCOMO Model Parameters by using Bee Colony Optimization , 2015 .

[44]  MengChu Zhou,et al.  Temporal Pattern-Aware QoS Prediction via Biased Non-Negative Latent Factorization of Tensors , 2020, IEEE Transactions on Cybernetics.

[45]  Krzysztof Zima,et al.  The Case-based Reasoning Model of Cost Estimation at the Preliminary Stage of a Construction Project☆ , 2015 .

[46]  Jiujun Cheng,et al.  Dendritic Neuron Model With Effective Learning Algorithms for Classification, Approximation, and Prediction , 2019, IEEE Transactions on Neural Networks and Learning Systems.

[47]  S. M. Sabbagh Jafari,et al.  Optimization of software cost estimation using harmony search algorithm , 2016, 2016 1st Conference on Swarm Intelligence and Evolutionary Computation (CSIEC).

[48]  Riyanarto Sarno,et al.  A Hybrid Cuckoo Optimization and Harmony Search Algorithm for Software Cost Estimation , 2017 .

[49]  Shuai Li,et al.  Efficient Extraction of Non-negative Latent Factors from High-Dimensional and Sparse Matrices in Industrial Applications , 2016, 2016 IEEE 16th International Conference on Data Mining (ICDM).

[50]  Sharifah Sakinah Syed Ahmad,et al.  A SYSTEMATIC LITERATURE REVIEW ON METHODS FOR SOFTWARE EFFORT ESTIMATION , 2019 .

[51]  Vahid Khatibi,et al.  A New Optimized Hybrid Model Based On COCOMO to Increase the Accuracy of Software Cost Estimation , 2018 .

[52]  Farhad Soleimanian Gharehchopogh,et al.  A Hybrid of Ant Colony Optimization and Chaos Optimization Algorithms Approach for Software Cost Estimation , 2015 .

[53]  Francisco Herrera,et al.  SMOTE for Learning from Imbalanced Data: Progress and Challenges, Marking the 15-year Anniversary , 2018, J. Artif. Intell. Res..

[54]  Thomas J. Ostrand,et al.  \{PROMISE\} Repository of empirical software engineering data , 2007 .

[55]  Hossam Faris,et al.  Optimizing Software Effort Estimation Models Using Firefly Algorithm , 2015, ArXiv.

[56]  Bilal Alatas,et al.  Plant intelligence based metaheuristic optimization algorithms , 2017, Artificial Intelligence Review.

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

[58]  Athanasios V. Vasilakos,et al.  Information centric network: Research challenges and opportunities , 2015, J. Netw. Comput. Appl..

[59]  Danny Ho,et al.  Neural network models for software development effort estimation: a comparative study , 2015, Neural Computing and Applications.

[60]  Danny Ho,et al.  Improving the COCOMO model using a neuro-fuzzy approach , 2007, Appl. Soft Comput..

[61]  Yaochu Jin,et al.  Feature selection for high-dimensional classification using a competitive swarm optimizer , 2016, Soft Computing.

[62]  Anubha Parashar,et al.  Machine Learning Application to Improve COCOMO Model using Neural Networks , 2018 .

[63]  Smruti R. Sarangi,et al.  Internet of Things: Architectures, Protocols, and Applications , 2017, J. Electr. Comput. Eng..

[64]  Saeid Nahavandi,et al.  Deep imitation learning for autonomous vehicles based on convolutional neural networks , 2020, IEEE/CAA Journal of Automatica Sinica.

[65]  F. Merrikh Bayat,et al.  The runner-root algorithm: A metaheuristic for solving unimodal and multimodal optimization problems inspired by runners and roots of plants in nature , 2015, Appl. Soft Comput..

[66]  Beata Czarnacka-Chrobot,et al.  An effective approach for software project effort and duration estimation with machine learning algorithms , 2018, J. Syst. Softw..

[67]  Abien Fred Agarap Deep Learning using Rectified Linear Units (ReLU) , 2018, ArXiv.

[68]  Ramakanta Mohanty,et al.  ANN-Cuckoo Optimization Technique to Predict Software Cost Estimation , 2018, 2018 Conference on Information and Communication Technology (CICT).

[69]  Farhad Soleimanian Gharehchopogh,et al.  Using hybrid model of Artificial Bee Colony and Genetic Algorithms in Software Cost Estimation , 2015, 2015 9th International Conference on Application of Information and Communication Technologies (AICT).

[70]  Vahid Garousi,et al.  A Survey of Software Engineering Practices in Turkey (extended version) , 2014, J. Syst. Softw..

[71]  Simon Fong,et al.  Survey of Meta-Heuristic Algorithms for Deep Learning Training , 2016 .

[72]  Majid Ahadi,et al.  A NEW HYBRID FOR SOFTWARE COST ESTIMATION USING PARTICLE SWARM OPTIMIZATION AND DIFFERENTIAL EVOLUTION ALGORITHMS , 2016 .

[73]  Jimmy Ba,et al.  Adam: A Method for Stochastic Optimization , 2014, ICLR.

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