Cross-Version Software Defect Prediction Considering Concept Drift and Chronological Splitting
Open Access
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 .
Keywords
This publication has 57 references indexed in Scilit:
- Which process metrics can significantly improve defect prediction models? An empirical studySoftware Quality Journal, 2014
- Concept drift detection via competence modelsArtificial Intelligence, 2014
- Time variance and defect prediction in software projectsEmpirical Software Engineering, 2011
- On the dataset shift problem in software engineering prediction modelsEmpirical Software Engineering, 2011
- On the relative value of cross-company and within-company data for defect predictionEmpirical Software Engineering, 2009
- A systematic review of effect size in software engineering experimentsInformation and Software Technology, 2007
- Improving defect prediction using temporal features and non linear models2007
- Statistical methods in psychology journals: Guidelines and explanations.American Psychologist, 1999
- A metrics suite for object oriented designIEEE Transactions on Software Engineering, 1994
- Incremental learning from noisy dataMachine Learning, 1986