A Comparison of Machine Learning Algorithms to Estimate Effort in Varying Sized Software

Software Effort Estimation is the most crucial task in software engineering and project management. It is very essential to estimate cost and required people properly for a project. Nowadays software is developed in more complexly and its success depends on proper estimation. In this research, we have compared the estimated result in varying software among three algorithms. These algorithms can be used in the early stages of software life cycle and can help project managers to conduct effort estimation efficiently before starting the project. It avoids project overestimation and underestimation among other benefits. Software size, productivity, complexity and requirement stability are the input factors of these three models. Softwares are classified into three categories (i.e. small, medium, large) based on software size. The effort has been measured using Radial Basis Function Neural Network, Extreme Learning Machine and Decision Tree for each category of software. The Root Mean Square Error has been calculated for the algorithms. The result shows that Decision Tree provides minimum 10% and 6% better result for small and medium sized software respectively. For large sized software Extreme Learning Machine gives 10% better result than Decision Tree.

[1]  K. R. Sudha,et al.  Software Effort Estimation using Radial Basis and Generalized Regression Neural Networks , 2010, ArXiv.

[2]  Sriman Srichandan,et al.  A new approach of Software Effort Estimation Using Radial Basis Function Neural Networks , 2012 .

[3]  Gustav Karner,et al.  Resource Estimation for Objectory Projects , 2010 .

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

[5]  Angel Castellanos,et al.  SOFTWARE EFFORT ESTIMATION USING RADIAL BASIS FUNCTION NEURAL NETWORKS , 2014 .

[6]  Yuan Zhao,et al.  Conceptual data model-based software size estimation for information systems , 2009, TSEM.

[7]  Abdul Muttalib,et al.  Neural Network: A better Approach for Software Effort Estimation , 2015 .

[8]  Lu Chen,et al.  Extended Use Case Points Method for Software Cost Estimation , 2009, 2009 International Conference on Computational Intelligence and Software Engineering.

[9]  Chee Kheong Siew,et al.  Extreme learning machine: Theory and applications , 2006, Neurocomputing.

[10]  S. K. Pillai,et al.  Extreme learning machine for software development effort estimation of small programs , 2014, 2014 International Conference on Circuits, Power and Computing Technologies [ICCPCT-2014].

[11]  Vlad-Sebastian Ionescu,et al.  An approach to software development effort estimation using machine learning , 2017, 2017 13th IEEE International Conference on Intelligent Computer Communication and Processing (ICCP).

[12]  Santanu Kumar Rath,et al.  Effort estimation of web-based applications using machine learning techniques , 2016, 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI).

[13]  B. Baskeles,et al.  Software effort estimation using machine learning methods , 2007, 2007 22nd international symposium on computer and information sciences.

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

[15]  David S. Broomhead,et al.  Multivariable Functional Interpolation and Adaptive Networks , 1988, Complex Syst..

[16]  Danny Ho,et al.  A new calibration for Function Point complexity weights , 2008, Inf. Softw. Technol..

[17]  Danny Ho,et al.  Neural network models for software development effort estimation: a comparative study , 2015, Neural Computing and Applications.

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