For a new project, it is impossible to get a reliable prediction model because of the lack of sufficient training data. To solve the problem, researchers proposed cross-project defect prediction (CPDP). For CPDP, most researchers focus on how to reduce the distribution difference between training data and test data, and ignore the impact of class imbalance on prediction performance. This paper proposes a hybrid multiple models transfer approach (HMMTA) for cross-project software defect prediction. First, several instances that are most similar to each target project instance are selected from all source projects to form the training data. Second, the same number of instances as that of the defected class are randomly selected from all the non-defect class in each iteration. Next, instances selected from the non-defect classes and all defected class instances are combined to form the training data. Third, the transfer learning method called ETrAdaBoost is used to iteratively construct multiple prediction models. Finally, the prediction models obtained from multiple iterations are integrated by the ensemble learning method to obtain the final prediction model. We evaluate our approach on 53 projects from AEEEM, PROMISE, SOFTLAB and ReLink four defect repositories, and compare it with 10 baseline CPDP approaches. The experimental results show that the prediction performance of our approach significantly outperforms the state-of-the-art CPDP methods. Besides, we also find that our approach has the comparable prediction performance as within-project defect prediction (WPDP) approaches. These experimental results demonstrate the effectiveness of HMMTA approach for CPDP.
Read full abstract