IEEE Access (Jan 2024)
A Survey on Transfer Learning for Cross-Project Defect Prediction
Abstract
Software defect prediction involves predicting which components in a software program, like classes or functions, are likely to have defects, based on metrics that describe those components. Cross-project defect prediction is a type of defect prediction where, due to not enough labeled defect data for the target project, the model is trained on data from other projects to predict defects in the target project. Within cross-project defect prediction, several transfer learning techniques have been proposed, whose goal is to transfer knowledge from a source to a target domain. Although there is a collection of comprehensive surveys on cross-project defect prediction, no study surveyed the cross-project defect prediction approaches through the lens of a transfer learning algorithm design framework. The contribution of this survey is twofold: it establishes a taxonomy for transfer learning approaches and surveys 44 cross-project defect prediction methods, analyzing and organizing each paper according to those categories. Ultimately, this survey provides a new perspective on how transfer learning approaches are employed in cross-project defect prediction and opens new research directions for the application of transfer learning for cross-project defect prediction.
Keywords