Cross-Version Software Defect Prediction Considering Concept Drift and Chronological Splitting

Journal Article (2023)
Author(s)

Md Alamgir Kabir (Mälardalen University)

Atiq Ur Rehman (Mälardalen University, Pak-Austria Fachhochschule Institute of Applied Sciences and Technology)

M. M. Islam (Ulster University)

Nazakat Ali (Mälardalen University)

Marcia L. Baptista (TU Delft - Air Transport & Operations)

Research Group
Air Transport & Operations
Copyright
© 2023 Md Alamgir Kabir, Atiq Ur Rehman, M. M.Manjurul Islam, Nazakat Ali, M. Lourenço Baptista
DOI related publication
https://doi.org/10.3390/sym15101934
More Info
expand_more
Publication Year
2023
Language
English
Copyright
© 2023 Md Alamgir Kabir, Atiq Ur Rehman, M. M.Manjurul Islam, Nazakat Ali, M. Lourenço Baptista
Research Group
Air Transport & Operations
Issue number
10
Volume number
15
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Concept drift (CD) refers to a phenomenon where the data distribution within datasets changes over time, and this can have adverse effects on the performance of prediction models in software engineering (SE), including those used for tasks like cost estimation and defect prediction. Detecting CD in SE datasets is difficult, but important, because it identifies the need for retraining prediction models and in turn improves their performance. If the concept drift is caused by symmetric changes in the data distribution, the model adaptation process might need to account for this symmetry to maintain accurate predictions. This paper explores the impact of CD within the context of cross-version defect prediction (CVDP), aiming to enhance the reliability of prediction performance and to make the data more symmetric. A concept drift detection (CDD) approach is further proposed to identify data distributions that change over software versions. The proposed CDD framework consists of three stages: (i) data pre-processing for CD detection; (ii) notification of CD by triggering one of the three flags (i.e., CD, warning, and control); and (iii) providing guidance on when to update an existing model. Several experiments on 30 versions of seven software projects reveal the value of the proposed CDD. Some of the key findings of the proposed work include: (i) An exponential increase in the error-rate across different software versions is associated with CD. (ii) A moving-window approach to train defect prediction models on chronologically ordered defect data results in better CD detection than using all historical data with a large effect size (Formula presented.).