Predictive maintenance for software systems using machine learning
This thesis investigates the effectiveness of machine learning in predicting software defects, utilizing features derived from McCabe and Halstead metrics.The study employs traditional machine learning algorithms, including Artificial Neural Networks (ANN), Support Vector Regressor (SVR), Linear Regression (LR), and Decision Trees (DT), alongside two ensemble methods, Random Forest (RF) and Gradient Boosting Regressor (GBR).The performance of these models was evaluated using leave-one-out crossvalidation and 6-fold cross-validation.The results demonstrate that an artificial neural network with two hidden layers is the most effective among the tried methods, consistently achieving the best performance across the used metrics.This effectiveness is attributed to its capability to model complex patterns in the data, leading to highly accurate predictions.In contrast, Decision Trees emerged as the least effective model, exhibiting the highest Mean Squared Error (MSE) and Root Mean Squared Error (RMSE), particularly with outliers included, which impaired their predictive accuracy and generalizability.The study underscores the advantages of advanced machine learning techniques, particularly neural networks and ensemble methods, in enhancing prediction accuracy and robustness.These findings provide a valuable foundation for advancing predictive maintenance practices in software engineering, highlighting the critical role of sophisticated machine learning methods in maintaining software quality and reliability.
Publication Details
- Journal
- Repository of the University of Primorsk (University of Primorska)
- Published
- 2024-09-04
- Primary Topic
- Software Reliability and Analysis Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00