一句话:首次揭示 JIT-SDP 存在类别不平衡演化,并提出考虑验证延迟的新方法以提升缺陷预测平衡性。
即时软件缺陷预测(JIT-SDP)在软件变更级别预测缺陷,但现有方法多假设问题特征随时间稳定。本文首次研究类别不平衡演化(缺陷引入变更的少数类程度随时间增强或减弱)是否威胁 JIT-SDP,并在现实场景中考虑验证延迟,即带标签训练样本延迟到达。基于 10 个 GitHub 项目,实验表明该演化显著损害现有 JIT-SDP 方法的预测性能,与最先进的类别不平衡演化学习方法相比,g-mean 最多低 97.2%。作者进而提出一种面向 JIT-SDP 的类别不平衡演化方法;在保持最高排名 g-mean 的同时,其在缺陷引入类与干净类上的召回率比现有方法最多平衡 63.59%,可避免过度偏重某一类。
Just-in-Time Software Defect Prediction (JIT-SDP) is an SDP approach that makes defect predictions at the software change level. Most existing JIT-SDP work assumes that the characteristics of the problem remain the same over time. However, JIT-SDP may suffer from class imbalance evolution. Specifically, the imbalance status of the problem (i.e., how much underrepresented the defect-inducing changes are) may be intensified or reduced over time. If occurring, this could render existing JIT-SDP approaches unsuitable, including those that re-build classifiers over time using only recent data. This work thus provides the first investigation of whether class imbalance evolution poses a threat to JIT-SDP. This investigation is performed in a realistic scenario by taking into account verification latency -- the often overlooked fact that labeled training examples arrive with a delay. Based on 10 GitHub projects, we show that JIT-SDP suffers from class imbalance evolution, significantly hindering the predictive performance of existing JIT-SDP approaches. Compared to state-of-the-art class imbalance evolution learning approaches, the predictive performance of JIT-SDP approaches was up to 97.2% lower in terms of g-mean. Hence, it is essential to tackle class imbalance evolution in JIT-SDP. We then propose a novel class imbalance evolution approach for the specific context of JIT-SDP. While maintaining top ranked g-means, this approach managed to produce up to 63.59% more balanced recalls on the defect-inducing and clean classes than state-of-the-art class imbalance evolution approaches. We thus recommend it to avoid overemphasizing one class over the other in JIT-SDP.
@inproceedings{CabralMSM19,
title = {Class Imbalance Evolution and Verification Latency in Just-in-Time Software Defect Prediction},
author = {George G. Cabral and Leandro L. Minku and Emad Shihab and Suhaib Mujahid},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse.2019.00076}
}