A Hybrid Approach for Software Development Effort Estimation using Neural networks, Genetic Algorithm, Multiple Linear Regression and Imperialist Competitive Algorithm

Nowadays, effort estimation in software development is of great value and significance in project management. Accurate and appropriate cost estimation not only helps customers trust to invest but also has a significant role in logical decision making during project management. Different models of cost estimation are presented and employed to the date, but the models are application specific. In this paper, a three-phase hybrid approach is proposed to overcome the problem. In the first phase, features are selected using a combination of genetic algorithm and the perceptron neural network. In the second phase, impact factors are associated to each selected feature using multiple linear regression methods which act as coefficients of influence for each feature. In the last and the third phase, the feature weights are optimized by Imperialist Competitive Algorithm. To compare the proposed model for effort estimation with state-of-the-art models, three datasets are chosen as benchmark, namely COCOMO, Maxwell and Albrecht. The datasets are standard and publicly available for assessment. The experiments show promising results and average performance is improved by the proposed model for MMRE performance criterion on the datasets by 23%, 38% and 35%, respectively.

[1]  Tim Menzies,et al.  Local vs. global models for effort estimation and defect prediction , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[2]  Emilia Mendes,et al.  A replicated assessment of the use of adaptation rules to improve Web cost estimation , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[3]  Ayse Basar Bener,et al.  Exploiting the Essential Assumptions of Analogy-Based Effort Estimation , 2012, IEEE Transactions on Software Engineering.

[4]  Seyyed Mohsen Hashemi,et al.  GVSEE: a new global model to estimate software services development effort , 2016 .

[5]  Lawrence H. Putnam,et al.  A General Empirical Solution to the Macro Software Sizing and Estimating Problem , 1978, IEEE Transactions on Software Engineering.

[6]  Genny Tortora,et al.  Class point: an approach for the size estimation of object-oriented systems , 2005, IEEE Transactions on Software Engineering.

[7]  Sun-Jen Huang,et al.  Optimization of analogy weights by genetic algorithm for software effort estimation , 2006, Inf. Softw. Technol..

[8]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[9]  Tim Menzies,et al.  Finding conclusion stability for selecting the best effort predictor in software effort estimation , 2012, Automated Software Engineering.

[10]  Siti Zaiton Mohd Hashim,et al.  A PSO-based model to increase the accuracy of software development effort estimation , 2012, Software Quality Journal.

[11]  Jianping Li,et al.  Linear combination of multiple case-based reasoning with optimized weight for software effort estimation , 2010, The Journal of Supercomputing.

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

[13]  Ahmed E. Hassan,et al.  Think locally, act globally: Improving defect and effort prediction models , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[14]  Magne Jørgensen,et al.  Software effort estimation by analogy and "regression toward the mean" , 2003, J. Syst. Softw..

[15]  Hamid Hassanpour,et al.  Investigation of the Effect of Concept Drift on Data-Aware Remaining Time Prediction of Business Processes , 2019 .

[16]  Alaa F. Sheta,et al.  Estimation of the COCOMO Model Parameters Using Genetic Algorithms for NASA Software Projects , 2006 .

[17]  D. Ross Jeffery,et al.  An Empirical Study of Analogy-based Software Effort Estimation , 1999, Empirical Software Engineering.

[18]  Tim Menzies,et al.  Hyperparameter Optimization for Effort Estimation , 2018, ArXiv.

[19]  Qinbao Song,et al.  Predicting software project effort: A grey relational analysis based method , 2011, Expert Syst. Appl..

[20]  Dayang N. A. Jawawi,et al.  LMES: A localized multi-estimator model to estimate software development effort , 2013, Eng. Appl. Artif. Intell..

[21]  Mohammad Azzeh,et al.  An Optimized Analogy-Based Project Effort Estimation , 2017, ArXiv.

[22]  Kavita Choudhary GA Based Optimization of Software Development Effort Estimation , 2010 .

[23]  Dayang N. A. Jawawi,et al.  Increasing the accuracy of software development effort estimation using projects clustering , 2012, IET Softw..

[24]  Sun-Jen Huang,et al.  The adjusted analogy-based software effort estimation based on similarity distances , 2007, J. Syst. Softw..

[25]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007, IEEE Transactions on Software Engineering.

[26]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[27]  Katrina D. Maxwell,et al.  Applied Statistics for Software Managers , 2002 .

[28]  George J. Klir,et al.  Fuzzy Sets, Fuzzy Logic, and Fuzzy Systems - Selected Papers by Lotfi A Zadeh , 1996, Advances in Fuzzy Systems - Applications and Theory.

[29]  Alaa F. Sheta,et al.  Development of software effort and schedule estimation models using Soft Computing Techniques , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[30]  David E. Goldberg,et al.  Genetic Algorithms with Sharing for Multimodalfunction Optimization , 1987, ICGA.

[31]  Elham Khatibi,et al.  Model to estimate the software development effort based on in-depth analysis of project attributes , 2015, IET Softw..

[32]  W. Eric L. Grimson,et al.  Prototype optimization for nearest-neighbor classification , 2002, Pattern Recognit..

[33]  Boris Milasinovic,et al.  Early effort estimation in web application development , 2015, J. Syst. Softw..

[34]  Caro Lucas,et al.  Imperialist competitive algorithm: An algorithm for optimization inspired by imperialistic competition , 2007, 2007 IEEE Congress on Evolutionary Computation.

[35]  Abhijit Ghosh Effort estimation Of web based applications , 2007 .

[36]  Miguel-Ángel Sicilia,et al.  Segmentation of Software Engineering Datasets Using the M5 Algorithm , 2006, International Conference on Computational Science.