Litcius/Paper detail

Estimating Software Development Efforts Using a Random Forest-Based Stacked Ensemble Approach

Priya Varshini A G, K. Anitha Kumari, Vijayakumar Varadarajan

2021Electronics74 citationsDOIOpen Access PDF

Abstract

Software Project Estimation is a challenging and important activity in developing software projects. Software Project Estimation includes Software Time Estimation, Software Resource Estimation, Software Cost Estimation, and Software Effort Estimation. Software Effort Estimation focuses on predicting the number of hours of work (effort in terms of person-hours or person-months) required to develop or maintain a software application. It is difficult to forecast effort during the initial stages of software development. Various machine learning and deep learning models have been developed to predict the effort estimation. In this paper, single model approaches and ensemble approaches were considered for estimation. Ensemble techniques are the combination of several single models. Ensemble techniques considered for estimation were averaging, weighted averaging, bagging, boosting, and stacking. Various stacking models considered and evaluated were stacking using a generalized linear model, stacking using decision tree, stacking using a support vector machine, and stacking using random forest. Datasets considered for estimation were Albrecht, China, Desharnais, Kemerer, Kitchenham, Maxwell, and Cocomo81. Evaluation measures used were mean absolute error, root mean squared error, and R-squared. The results proved that the proposed stacking using random forest provides the best results compared with single model approaches using the machine or deep learning algorithms and other ensemble techniques.

Topics & Concepts

Random forestSoftwareComputer scienceMachine learningEnsemble learningStackingArtificial intelligenceMean squared errorData miningDecision treeSoftware developmentGradient boostingEstimationBoosting (machine learning)StatisticsMathematicsEngineeringProgramming languagePhysicsSystems engineeringNuclear magnetic resonanceSoftware Engineering ResearchSoftware Reliability and Analysis ResearchSoftware System Performance and Reliability
Estimating Software Development Efforts Using a Random Forest-Based Stacked Ensemble Approach | Litcius