Method and System of Software Defect Prediction for New Software Release

Read the full article See related articles

Discuss this preprint

Start a discussion What are Sciety discussions?

Listed in

This article is not in any list yet, why not save it to one of your lists.
Log in to save this article

Abstract

Context Software Defect Prediction (SDP) plays an important role in enhancing the quality and reliability of software before it is released. It aims to identify and thereby help mitigate potential defects early, hence strengthening the software quality and reliability, which results in enhanced user experience (UX). Over the years, numerous statistical, machine learning, and deep learning techniques have been proposed by researchers in the area of SDP. It has limited use in automated SDP as actual defects fall into false positives/negatives. Objective An advanced SDP model that improves prediction metrics and overall software quality by utilising a meta-model ensemble strategy composed of proven machine learning algorithms trained on labelled data. Method The proposed model was developed using an ensemble of bagging and boosting algorithms like Random Forest, XGBoost, and AdaBoost, integrated into a multi-model ensemble. Random Forest reduces variance via bagging, XGBoost, and AdaBoost help in bias-reduction through boosting; these base classifiers, when stacked together along with a meta-classifier, improve generalization. The model was trained on benchmark historical software release data and evaluated on subsequent software releases. Results Experimental analysis demonstrates that the proposed SDP model outperformed recent SDP models proposed by researchers. The proposed model showed better prediction performance across model evaluation criteria and adaptability across software release cycles. Conclusion The proposed meta-model ensemble framework significantly contributes to improving SDP by boosting prediction performance and enabling continuous model refinement. Its integration into the CI/CD pipeline can help organisations in monitoring and tracking of software defects in a dashboard to ensure release readiness from beta release to production release, which would ultimately result in reduced testing cost, focused bug removal and meet release timeline and improved UX (User Experience).

Article activity feed