| Home

Overview


Original Research

SOFTWARE DEFECT PREDICTION TECHNIQUES IN SOFTWARE ENGINEERING: A REVIEW

ABDUALMAJED A. G. AL-KHULAIDI 1, AHMED A. ABDU 2, ADEL A. NASSER 3, HAKIM A. ABDU 4, MIJAHED ALJOBER 5, and MUNEER A. S. HAZZA 6.

Vol 17, No 11 ( 2022 )   |  DOI: 10.5281/zenodo.7318104   |   Author Affiliation: Department of Computer Science, Faculty of Computer and Information Technology, Sana'a University, Sana'a, Yemen 1; School of Software, Northwestern Polytechnical University, Xian, China 2; Department of Information Systems and Computer Science, Faculty of Sciences, Sa’adah University, Sa’adah, Yemen, Modern Specialized College of Medical and Technical Sciences, Sana'a, Yemen 3; School of Computer Science & Information Technology, Dr. Babasaheb Ambedkar Marathwada University, India 4; Modern Specialized College of Medical and Technical Sciences, Sana'a, Yemen 5; Faculty of Computer and Information Systems, Thamar University, Thamar, Yemen 6.   |   Licensing: CC 4.0   |   Pg no: 77-96   |   To cite: ABDUALMAJED A. G. AL-KHULAIDI, et al., (2022). SOFTWARE DEFECT PREDICTION TECHNIQUES IN SOFTWARE ENGINEERING: A REVIEW. 17(11), 77–96. https://doi.org/10.5281/zenodo.7318104   |   Published on: 09-11-2022

Abstract

Defect prediction is one of the significant challenges in the software development lifecycle for improving software quality and reducing program testing time and cost. Developing a defect prediction model is a difficult task, and several techniques have been developed over time. Previous reviews focused on defect prediction in general, and none have specifically addressed defect prediction based on the semantic representation of programs from source code. This review presents a comprehensive and holistic survey of software defect research over three decades, covering motivations, datasets, state-of-the-art techniques, challenges, and future research directions. We specifically concentrate on source code semantic-based methods. We also give particular attention to the techniques based on semantic features because it presents the field's current state of the art. We focus on the process of cross-project defect prediction (CPDP), within-project defect prediction (WPDP), and the most recently used datasets. Defect datasets for 60 projects in different programming languages (C, Java, and C++) are presented and analyzed. Open issues are studied, and potential research directions in defect prediction are proposed to supply the reader with a point of reference for important topics that deserve study.


Keywords

Cross project, deep learning, Semantic features, Software defect prediction, within project