Abstract

Software defect (Bug) prediction plays an important role in improving software quality. Many software defect prediction approaches have been proposed and achieved great effects in the real-world. However, the existing works are usually constrained in only one project, hence their effectiveness on cross-project defect prediction (cross-prediction) is usually poor. This is mainly because of the problem of class imbalance and feature distribution differences between the source and target projects. In this paper, we proposed an effective software defect prediction method called Transfer Component Analysis Neural Network (TCANN), by adequately considering the noise data, the class imbalance in data settings and transfer learning among cross-project. There are three parts in TCANN, aiming to solve the above mentioned three problems respectively. First, the Inter Quartile Range (IQR) based method is proposed for noise removal in datasets. Second, The transfer component analysis method is used to reduce the feature distribution differences between source and target data. Third, dynamic sampling neural network is proposed for dealing with class imbalance problem of the training dataset. Based on the classic open-source datasets collected by previous researchers, our experimental results show that TCANN improves the performance of both within-project and cross-project defect prediction in comparison with other methods.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call