Abstract

The goal of defect specificity is to pinpoint defective program components (such as faulty files, problematic procedures, or troublesome lines of code) based on defect symptoms, such as event logs or program spectrum. However, the problem is revealed and adverse effects are introduced when one experiences the defect indications. Consequently, one difficult task is to determine whether one can find buggy program before the signs of the defect manifests itself. Just-in-time defect prediction (JIT-DP) is a particular category of Software Defect Prediction (SDP) that includes this type of early detection of flawed changes to a software programs. This paper presents a novel five-phase JIT-DP framework that classifies the newly committed change as either a buggy change or a clean change relying on the project's historical data regarding the executed changes. The distinctive aspect of the model is that it uses the Chunk Balancing Algorithm (CBA) as a novel way of handling the Class Imbalance Problem (CIP) rather than utilizing conventional data re-sampling techniques. The experimental study uses 10 open-source projects with an average of 23,989 modifications to train the JIT-DP model. The research study examines the JIT-DP model's prediction abilities from both Within Project (WP) and Cross Project (CP) scenarios. The findings show that for within project setup, Logistic Regression (LR) outperforms among all other classifiers with the highest accuracy, TPR, and FPR as 0.85, 0.847, and 0.207, respectively. The model provides comparable prediction findings with an average accuracy of 0.90 for all seven testing samples when it was trained using commit logs from related six Java projects under CP context. However, taking into account the larger training pool of commit records in the former scenario, the model in the CP context (3.740 s) lags behind in terms of training and classification time periods when compared to the results of WI (0.984 s).

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