Abstract
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 centred 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 80 % 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.
Similar content being viewed by others
Notes
The terms software cost and software effort are used interchangeably in this study.
The terms software cost estimation and software cost prediction are used interchangeably in this study.
References
Eck D, Brundick B, Fettig T, Dechoretz J, Ugljesa J (2009) Parametric estimating handbook. In: The International Society of Parametric Analysis (ISPA), 4th edn
Lynch J (2009) Chaos manifesto. The Standish Group, Boston [Online]. http://www.standishgroup.com/newsroom/chaos_2009.php
Jorgensen M, Shepperd M (2007) A systematic review of software development cost estimation studies. IEEE Trans Softw Eng 33(1):33–53
Mendes E, Mosley N, Watson I (2002) A comparison of case-based reasoning approaches. In: Proceedings of the 11th international conference on world wide web, Honolulu, Hawaii, USA, pp 272–280
Jørgensen M (2007) Forecasting of software development work effort: evidence on expert judgment and formal models. Int J Forecast 23(3):449–462
Boehm BW (1981) Software engineering economics. Prentice-Hall, Englewood Cliffs, NJ
Galorath DD, Evans MW (2006) Software sizing, estimation, and risk management. Auerbach Publications, Boston, MA
Putnam LH (1978) A general empirical solution to the macro software sizing and estimating problem. IEEE Trans Softw Eng 4(4):345–361
Lopez-Martin C (2011) A fuzzy logic model for predicting the development effort of short scale programs based upon two independent variables. Appl Soft Comput 11(1):724–732
Nassif AB, Ho D, Capretz LF (2013) Towards an early software estimation using log-linear regression and a multilayer perceptron model. J Syst Softw 86(1):144–160
Nassif AB, Capretz LF, Ho D (2012) Estimating software effort using an ANN model based on use case points. In: 11th International conference on machine learning and applications (ICMLA 2012), Boca Raton, FL, pp 42–47
Nassif AB, Capretz LF, Ho D (2011) Estimating software effort based on use case point model using sugeno fuzzy inference system. In: 23rd IEEE international conference on tools with artificial intelligence, FL, pp 393–398
Nassif AB, Capretz LF, Ho D (2011) A regression model with mamdani fuzzy inference system for early software effort estimation based on use case diagrams. In: Third international conference on intelligent computing and intelligent systems, Guangzhou, Guangdong, pp 615–620
Idri A, Abran A (2000) COCOMO cost model using fuzzy logic. In: 7th International conference on fuzzy theory and technology, pp 1–4
Huang X, Ho D, Ren J, Capretz LF (2007) Improving the COCOMO model using a neuro-fuzzy approach. Appl Soft Comput 7(1):29–40
Du WL, Capretz LF, Nassif AB, Ho D (2013) A hybrid intelligent model for software cost estimation. J Comput Sci 9(11):1506–1513
Boehm B, Abts C, Chulani S (2000) Software development cost estimation approaches: a survey. Ann Softw Eng 10(1):177–205
Wen J, Li S, Lin Z, Hu Y, Huang C (2012) Systematic literature review of machine learning based software development effort estimation models. Inf Softw Technol 54(1):41–59
Lopez-Martin C (2011) Applying a general regression neural network for predicting development effort of short-scale programs. Neural Comput Appl 20(3):389–401
Lopez-Martin C (2015) Predictive accuracy comparison between neural networks and statistical regression for development effort of software projects. J Syst Softw 27:434–449
Nassif AB, Capretz LF, Ho D (2012) Software effort estimation in the early stages of the software life cycle using a cascade correlation neural network model. In 13th ACIS international conference on software engineering, artificial intelligence, networking and parallel & distributed computing (SNPD), Kyoto, Japan, pp 589–594
ISBSG. International Software Benchmarking Standards Group. [Online]. http://www.isbsg.org/
Shepperd M, MacDonell S (2012) Evaluating prediction systems in software project estimation. Inf Softw Technol 54(8):820–827
Kassab M (2009) Non-functional requirements: modeling and assessment. VDM Verlag, Germany
Kassab M, Ormandjieva O, Daneva M, Abran A (2008) Non-functional requirements size measurement method (NFSM) with COSMIC-FFP. Softw Process Prod Meas 4895:168–182
Lippman RP (1987) An introduction to computing with neural nets. IEEE ASSP Mag 3(2):4–22
Møller MF (1993) A scaled conjugate gradient algorithm for fast supervised learning. Neural Netw 6(4):525–533
Park H, Baek S (2008) An empirical validation of a neural network model for software effort estimation. Expert Syst Appl 35(3):929–937
Broomhead DS, Lowe D (1988) Multivariable functional interpolation and adaptive networks. Complex Syst 2:321–355
Kitchenham B, Mendes E (2009) Why comparative effort prediction studies may be invalid. In: Proceedings of the 5th international conference on predictor models in software engineering, Vancouver, BC, pp 4:1–4:5
Specht DF (1991) A general regression neural network. IEEE Trans Neural Netw 2(6):568–576
Lopez-Martin C, Isaza C, Chavoya A (2011) Software development effort prediction of industrial projects applying a general regression neural network. Empir Softw Eng 17:1–19
Nassif AB (2012) Software size and effort estimation from use case diagrams using regression and soft computing models. Western University, ON, London
Fahlman SE, Lebiere C (1990) The cascade-correlation learning architecture. Adv Neural Inf Process Syst 2:524–532
Chen S, Hong X, Harris CJ (2005) Orthogonal forward selection for constructing the radial basis function network with tunable nodes. In IEEE international conference on intelligent computing, pp 777–786
Kitchenham BA, Mendes E, Travassos GH (2007) Cross versus within-company cost estimation studies: a systematic review. IEEE Trans Softw Eng 33(5):316–329
Acknowledgments
Ali Bou Nassif would like to thank the University of Sharjah for supporting this research. Luiz Fernando Capretz, and Danny Ho would like to thank the Natural Sciences and Engineering Research Council of Canada (NSERC) for their support of this work through a Discovery Grant-Team.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Informed consent
This study does not involve any human participants and/or animals.
Rights and permissions
About this article
Cite this article
Nassif, A.B., Azzeh, M., Capretz, L.F. et al. Neural network models for software development effort estimation: a comparative study. Neural Comput & Applic 27, 2369–2381 (2016). https://doi.org/10.1007/s00521-015-2127-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00521-015-2127-1