Info: Zenodo’s user support line is staffed on regular business days between Dec 23 and Jan 5. Response times may be slightly longer than normal.

Published November 9, 2022 | Version v2
Journal article Open

SOFTWARE DEFECT PREDICTION TECHNIQUES IN SOFTWARE ENGINEERING: A REVIEW

  • 1. Department of Computer Science, Faculty of Computer and Information Technology, Sana'a University, Sana'a, Yemen.
  • 2. School of Software, Northwestern Polytechnical University, Xian, China.
  • 3. 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.
  • 4. School of Computer Science & Information Technology, Dr. Babasaheb Ambedkar Marathwada University, India.
  • 5. Modern Specialized College of Medical and Technical Sciences, Sana'a, Yemen.
  • 6. Faculty of Computer and Information Systems, Thamar University, Thamar, Yemen.

Description

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.

Files

V17I11A7.pdf

Files (1.1 MB)

Name Size Download all
md5:da3290f6383251d3fa36273b182b96a6
1.1 MB Preview Download