KAEA: A novel three-stage ensemble model for software defect prediction

Nana Zhang, Kun Zhu, Shi Ying*, Xu Wang

*Corresponding author for this work

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

Software defect prediction is a research hotspot in the field of software engineering. However, due to the limitations of current machine learning algorithms, we can’t achieve good effect for defect prediction by only using machine learning algorithms. In previous studies, some researchers used extreme learning machine (ELM) to conduct defect prediction. However, the initial weights and biases of the ELM are determined randomly, which reduces the prediction performance of ELM. Motivated by the idea of search based software engineering, we propose a novel software defect prediction model named KAEA based on kernel principal component analysis (KPCA), adaptive genetic algorithm, extreme learning machine and Adaboost algorithm, which has three main advantages: (1) KPCA can extract optimal representative features by leveraging a nonlinear mapping function; (2) We leverage adaptive genetic algorithm to optimize the initial weights and biases of ELM, so as to improve the generalization ability and prediction capacity of ELM; (3) We use the Adaboost algorithm to integrate multiple ELM basic predictors optimized by adaptive genetic algorithm into a strong predictor, which can further improve the effect of defect prediction. To effectively evaluate the performance of KAEA, we use eleven datasets from large open source projects, and compare the KAEA with four machine learning basic classifiers, ELM and its three variants. The experimental results show that KAEA is superior to these baseline models in most cases.

Original languageEnglish
Pages (from-to)471-499
Number of pages29
JournalComputers, Materials and Continua
Volume64
Issue number1
DOIs
Publication statusPublished - 20 May 2020

Keywords

  • Adaboost
  • Adaptive genetic algorithm
  • Extreme learning machine
  • KPCA
  • Software defect prediction

Cite this