A Survey on Software Cost Estimation Techniques

The ability to accurately estimate the cost needed to complete a specific project has been a challenge over the past decades. For a successful software project, accurate prediction of the cost, time and effort is a very much essential task. This paper presents a systematic review of different models used for software cost estimation which includes algorithmic methods, non-algorithmic methods and learning-oriented methods. The models considered in this review include both the traditional and the recent approaches for software cost estimation. The main objective of this paper is to provide an overview of software cost estimation models and summarize their strengths, weakness, accuracy, amount of data needed, and validation techniques used. Our findings show, in general, neural network based models outperforms other cost estimation techniques. However, no one technique fits every problem and we recommend practitioners to search for the model that best fit their needs.

[1]  José Javier Dolado,et al.  On the problem of the software cost function , 2001, Inf. Softw. Technol..

[2]  Santanu Kumar Rath,et al.  Software effort estimation using machine learning techniques , 2014, ISEC '14.

[3]  Sandro Morasca,et al.  Estimating Software Development Effort Based on Phases , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[4]  Brajesh Kumar Singh,et al.  Software Effort Estimation by Genetic Algorithm Tuned Parameters of Modified Constructive Cost Model for NASA Software Projects , 2012 .

[5]  Ahmed BaniMustafa,et al.  Predicting Software Effort Estimation Using Machine Learning Techniques , 2018, 2018 8th International Conference on Computer Science and Information Technology (CSIT).

[6]  Wang Qing,et al.  Software Cost Estimation Method and Application , 2007 .

[7]  Taghi M. Khoshgoftaar,et al.  Can neural networks be easily interpreted in software cost estimation? , 2002, 2002 IEEE World Congress on Computational Intelligence. 2002 IEEE International Conference on Fuzzy Systems. FUZZ-IEEE'02. Proceedings (Cat. No.02CH37291).

[8]  Haitham S. Hamza,et al.  Software Effort Estimation Using Artificial Neural Networks: A Survey of the Current Practices , 2013, 2013 10th International Conference on Information Technology: New Generations.

[9]  R. Ponnusamy,et al.  Improvised Analogy based Software Cost Estimation with Ant Colony Optimization , 2015 .

[10]  D. Ross Jeffery,et al.  A comparative study of two software development cost modeling techniques using multi-organizational and company-specific data , 2000, Inf. Softw. Technol..

[12]  Roger D. H. Warburton Managing and Predicting the Costs of Real-Time Software , 1983, IEEE Transactions on Software Engineering.

[13]  Colin J Burgess,et al.  Can genetic programming improve software effort estimation? A comparative evaluation , 2001, Inf. Softw. Technol..

[14]  Stephen G. MacDonell,et al.  Software Metrics Data Analysis—Exploring the Relative Performance of Some Commonly Used Modeling Techniques , 1999, Empirical Software Engineering.

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

[16]  Hareton Leung,et al.  Software cost estimation , 2001 .

[17]  Kjetil Moløkken-Østvold,et al.  A survey on software estimation in the Norwegian industry , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[18]  Bhupendra Verma,et al.  A Software Measurement Using Artificial Neural Network and Support Vector Machine , 2013 .

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

[20]  Jaiteg Singh,et al.  Systematic Literature Review on Software Effort Estimation Using Machine Learning Approaches , 2017, 2017 International Conference on Next Generation Computing and Information Systems (ICNGCIS).

[21]  Barry W. Boehm,et al.  Cost models for future software life cycle processes: COCOMO 2.0 , 1995, Ann. Softw. Eng..

[22]  Alain Abran,et al.  Accuracy Comparison of Analogy‐Based Software Development Effort Estimation Techniques , 2016, Int. J. Intell. Syst..

[23]  Hathaichanok Suwanjang,et al.  Framework for Developing a Software Cost Estimation Model for Software Modification Based on a Relational Matrix of Project Profile and Software Cost Using an Analogy Estimation Method , 2012 .

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

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

[26]  Abbas Heiat,et al.  Comparison of artificial neural network and regression models for estimating software development effort , 2002, Inf. Softw. Technol..

[27]  Magne Jørgensen,et al.  Regression Models of Software Development Effort Estimation Accuracy and Bias , 2004, Empirical Software Engineering.

[28]  Andreas S. Andreou,et al.  Software Cost Modelling and Estimation Using Artificial Neural Networks Enhanced by Input Sensitivity Analysis , 2012, J. Univers. Comput. Sci..

[29]  Ingunn Myrtveit,et al.  A Controlled Experiment to Assess the Benefits of Estimating with Analogy and Regression Models , 1999, IEEE Trans. Software Eng..

[31]  Sonal Jain,et al.  Enhanced Software Effort Estimation Using Multi Layered Feed Forward Artificial Neural Network Technique , 2016 .

[32]  Rachna Soni,et al.  Radial basis function network using intuitionistic fuzzy C means for software cost estimation , 2013, Int. J. Comput. Appl. Technol..

[33]  Rajkumar Roy,et al.  Expert Judgement in Cost Estimating: Modelling the Reasoning Process , 2001, Concurr. Eng. Res. Appl..

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

[35]  Harish Mittal,et al.  Software cost estimation using fuzzy logic , 2010, ACM SIGSOFT Softw. Eng. Notes.

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

[37]  S. Ochoa,et al.  Survey of Software Development Effort Estimation Taxonomies , 2018 .