Abstract

Background/Objective: In Software Effort Estimation (SEE), predicting the amount of time taken in human hours or months for software development is considered as a cumbersome process. SEE consists of both Software Development Effort Estimation (SDEE) and Software Maintenance Effort Estimation (SMEE). Over estimation or under estimation of software effort results in project cancellation or project failure. The objective of this study is to identify the best performing model for software Effort Estimation through experimental comparison with various Machine learning algorithms. Methods: Software Effort Estimation was addressed by using various machine learning techniques such as Multilinear Regression, Ridge Regression, Lasso Regression, ElasticNet Regression, Random Forest, Support Vector Machine, Decision Tree and NeuralNet to recognize best performing model. Datasets used are Desharnais, Maxwell, China and Albrecht datasets. Evaluation metrics considered are Mean Absolute Error (MAE), Mean Squared Error (MSE), Root Mean Square Error (RMSE) and R-Squared. Findings: Experiments on various machine learning algorithms for software Effort Estimation determines that Support Vector Machine produced the best performance comparatively with other algorithms. Keywords: Machine learning; software effort estimation; regression models; classification models

Highlights

  • Software Effort Estimation is used to predict effort in terms of person-months or person-hours

  • Machine learning algorithms considered for estimation are Multilinear Regression (MR), Random Forest(RF), Support Vector Machine(SVM), Decision Tree(DT), NeuralNet(NN), Ridge Regression(RR), Lasso Regression(LR) and ElasticNet Regression(ER)

  • Metrics used for evaluation are Mean Absolute Error (MAE), Mean Squared Error(MSE), RMSE(Root Mean Square Error(RMSE) and R-Squared

Read more

Summary

Introduction

Software Effort Estimation is used to predict effort in terms of person-months or person-hours. For successful development of software, Software Effort Estimation (SEE) is one of the challenging tasks though several models exist. Several models were proposed for software effort estimation (1). Software Effort estimations are carried out using Expert judgment, User Stories, Analogy based estimations and Use case point approach. Later various Machine learning algorithms alike Linear regression, Logistic regression, Multiple linear regression, Stepwise regression, Ridge regression, Lasso regression, Elasticnet regression, Decision tree, Neural networks, Support vector machine, Random forest, Naïve bayes, etc., are used for estimation. Ensemble approaches gained more attention and produce more prediction than individual algorithms for effort prediction. The following are the survey of various models used for effort estimation

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call