A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models

Estimating software development effort remains a complex problem attracting considerable research attention. Improving the estimation techniques available to project managers would facilitate more effective control of time and budgets in software development. This paper reviews a research study comparing three estimation techniques using function points as an estimate of system size. The models considered are based on regression analysis, artificial neural networks and case-based reasoning. Although regression models performed poorly on the data set of 299 projects, both artificial neural networks and case-based reasoning appeared to have value for software development effort estimation models. Case-based reasoning in particular is appealing because of its similarity to expert judgment approaches and for its potential as an expert assistant in support of human judgment.

[1]  Farhi Marir,et al.  Case-based reasoning: a categorized bibliography , 1994, The Knowledge Engineering Review.

[2]  D. Ross Jeffery,et al.  A Comparison of Function Point Counting Techniques , 1993, IEEE Trans. Software Eng..

[3]  Douglas Fisher,et al.  Machine Learning Approaches to Estimating Software Development Effort , 1995, IEEE Trans. Software Eng..

[4]  Joseph M. Mellichamp,et al.  An object‐oriented tool for function point analysis , 1993 .

[5]  Chris F. Kemerer,et al.  An empirical validation of software cost estimation models , 1987, CACM.

[6]  Farhi Marir,et al.  Case-based reasoning: A review , 1994, The Knowledge Engineering Review.

[7]  Geoffrey E. Hinton,et al.  Learning internal representations by error propagation , 1986 .

[8]  Joseph M. Mellichamp,et al.  Software Development Cost Estimation Using Function Points , 1994, IEEE Trans. Software Eng..

[9]  James L. McClelland,et al.  James L. McClelland, David Rumelhart and the PDP Research Group, Parallel distributed processing: explorations in the microstructure of cognition . Vol. 1. Foundations . Vol. 2. Psychological and biological models . Cambridge MA: M.I.T. Press, 1987. , 1989, Journal of Child Language.

[10]  D. Ross Jeffery,et al.  Calibrating estimation tools for software development , 1990, Softw. Eng. J..

[11]  G. R. Finnie,et al.  AI tools for software development effort estimation , 1996, Proceedings 1996 International Conference Software Engineering: Education and Practice.

[12]  R. Betteridge Successful experience of using function points to estimate project costs early in the life-cycle , 1992, Inf. Softw. Technol..

[13]  Michael J. Prietula,et al.  Examining the Feasibility of a Case-Based Reasoning Model for Software Effort Estimation , 1992, MIS Q..

[14]  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.

[15]  Y. Miyazaki,et al.  Robust regression for developing software estimation models , 1994, J. Syst. Softw..

[16]  Victor R. Basili,et al.  An Evaluation of Expert Systems for Software Engineering Management , 1989, IEEE Trans. Software Eng..

[17]  D. Treigueiros,et al.  The application of neural network based methods to the extraction of knowledge from accounting reports , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[18]  D. V. Ferens,et al.  An evaluation of three function point models for estimation of software effort , 1992, Proceedings of the IEEE 1992 National Aerospace and Electronics Conference@m_NAECON 1992.