Neural Network Models for Software Development Effort Estimation: A Comparative Study

Software development effort estimation (SDEE) is one of the main tasks in software project management. It is crucial for a project manager to efficiently predict the effort or cost of a software project in a bidding process, since overestimation will lead to bidding loss and underestimation will cause the company to lose money. Several SDEE models exist; machine learning models, especially neural network models, are among the most prominent in the field. In this study, four different neural network models: Multilayer Perceptron, General Regression Neural Network, Radial Basis Function Neural Network, and Cascade Correlation Neural Network are compared with each other based on: (1) predictive accuracy centered on the Mean Absolute Error criterion, (2) whether such a model tends to overestimate or underestimate, and (3) how each model classifies the importance of its inputs. Industrial datasets from the International Software Benchmarking Standards Group (ISBSG) are used to train and validate the four models. The main ISBSG dataset was filtered and then divided into five datasets based on the productivity value of each project. Results show that the four models tend to overestimate in 80percent of the datasets, and the significance of the model inputs varies based on the selected model. Furthermore, the Cascade Correlation Neural Network outperforms the other three models in the majority of the datasets constructed on the Mean Absolute Residual criterion.

[1]  Barry W. Boehm,et al.  Software development cost estimation approaches — A survey , 2000, Ann. Softw. Eng..

[2]  Martin Fodslette Møller,et al.  A scaled conjugate gradient algorithm for fast supervised learning , 1993, Neural Networks.

[3]  Emilia Mendes,et al.  A comparison of case-based reasoning approaches , 2002, WWW '02.

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

[5]  D. Broomhead,et al.  Radial Basis Functions, Multi-Variable Functional Interpolation and Adaptive Networks , 1988 .

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

[7]  Sheng Chen,et al.  Orthogonal Forward Selection for Constructing the Radial Basis Function Network with Tunable Nodes , 2005, ICIC.

[8]  Danny Ho,et al.  Towards an early software estimation using log-linear regression and a multilayer perceptron model , 2013, J. Syst. Softw..

[9]  Cuauhtemoc Lopez-Martin A fuzzy logic model for predicting the development effort of short scale programs based upon two independent variables , 2011 .

[10]  Danny Ho,et al.  Estimating Software Effort Using an ANN Model Based on Use Case Points , 2012, 2012 11th International Conference on Machine Learning and Applications.

[11]  Cuauhtemoc Lopez-Martin Predictive accuracy comparison between neural networks and statistical regression for development effort of software projects , 2015 .

[12]  Alain Abran,et al.  Non-Functional Requirements Size Measurement Method (NFSM) with COSMIC-FFP , 2007, IWSM/Mensura.

[13]  Emilia Mendes,et al.  Why comparative effort prediction studies may be invalid , 2009, PROMISE '09.

[14]  Christian Lebiere,et al.  The Cascade-Correlation Learning Architecture , 1989, NIPS.

[15]  Cuauhtemoc Lopez-Martin Applying a general regression neural network for predicting development effort of short-scale programs , 2011 .

[16]  Ali Bou Nassif,et al.  Software Size and Effort Estimation from Use Case Diagrams Using Regression and Soft Computing Models , 2012 .

[17]  Mohamad Kassab,et al.  Non-Functional Requirements: Modeling and Assessment , 2009 .

[18]  Danny Ho,et al.  Software Effort Estimation in the Early Stages of the Software Life Cycle Using a Cascade Correlation Neural Network Model , 2012, 2012 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing.

[19]  Heejun Park,et al.  An empirical validation of a neural network model for software effort estimation , 2008, Expert Syst. Appl..

[20]  Danny Ho,et al.  Estimating Software Effort Based on Use Case Point Model Using Sugeno Fuzzy Inference System , 2011, 2011 IEEE 23rd International Conference on Tools with Artificial Intelligence.

[21]  Cuauhtémoc López Martín,et al.  Software development effort prediction of industrial projects applying a general regression neural network , 2011, Empirical Software Engineering.

[22]  Yong Hu,et al.  Systematic literature review of machine learning based software development effort estimation models , 2012, Inf. Softw. Technol..