Dynamic learner selection for cross-project fault prediction
摘要
The performance of a software fault prediction model highly depends on the learning technique. Different learning techniques yield different prediction performances for the same software project due to differences in their discriminatory powers to distinguish between defective and defect-free software components. Therefore, it is challenging to choose an appropriate learner, particularly for a cross-project fault prediction (CPFP) scenario, where data from other projects is employed for training the model. A few ensemble approaches have been proposed in the past, but there exists room for performance improvement. Different from the traditional ensemble CPFP approaches, which decide the learner at training time, we present a Dynamic Learner Selection approach for CPFP which dynamically chooses the best learner at testing time to fully exploit the predictive power of multiple learners while masking their weaknesses to develop a robust fault prediction model. To assess the effectiveness of the presented approach, we compare it with six standalone learners and state-of-the-art approaches namely ASCI and Validation & Voting on 21 open-source datasets. In comparison to the Naive Bayes learner, which outperformed all other learners, the presented approach observed an average improvement of 50.88% and 31.84% in average F-measure and MCC respectively. Further, we witnessed an average improvement of 14.22% to 110.31% and 33.73% to 207.21% in terms of MCC and F-measure respectively over compared approaches. Statistical test results also confirm the findings. Thus, we conclude, that the presented approach can empower practitioners in developing robust, reliable, and quality software at a lower cost.