The Application of Machine Learning and Deep Learning Algorithms for Estimation of Software Development Effort (SDE)
摘要
SDE estimation is essential for controlling software development projects’ cost, time, and quality. Therefore, accurate software project estimates are crucial to project success. COCOMO, FPA, and other models estimate inaccurately. Researchers have turned to innovative algorithms in SDE to overcome the constraints of conventional models. Overestimating or underestimating an effort can affect the project plan’s business, user, system, functional, and non-functional needs for resource allocation. Size, Lines of Code, Functional Point Analysis, and other project factors can significantly affect SDE for software work estimation. To increase accuracy, only a few effort estimation elements are used for SDE metric calculation. Recent advances in SDE Machine Learning (ML) and Evolution Algorithms were shown. Academics employ evolutionary algorithms to find essential project dataset features, while ML algorithms predict SDE. This study suggests modifying the Jaya algorithm to improve the SDE model. The suggested improved Jaya Optimization Algorithm selects the optimal component subset from comprehensive feature sets. This study estimates SDE using Extreme Gradient Boosting (XGB), a Machine Learning model. Unlike evolutionary algorithms, the modified Jaya method requires no hyperparameter adjustment or algorithm-specific parameters. SDE is calculated using the XGB method, which improves accuracy. The method improves performance. Traditional and machine learning estimating methods are widely used. However, software development complexity and project dynamics require them to be enhanced. Machine learning methods perform poorly on massive datasets with missing values and noisy data. Deep learning techniques for SDE are promising across multiple areas; therefore, the downside warrants consideration. Data heterogeneity and noise limit a deep learning model’s prediction performance. This study extensively examines deep learning algorithm stacking for software effort estimation. Ensemble learning approach stacking harnesses the predictive power of many base models to correct errors and increase accuracy. This study aims to determine how effectively the proposed technique can predict SDE and improve forecasts. Individual deep learning models are compared against stacked ensembles and standard estimate methods.