On the use of deep learning in software defect prediction

Context: Automated software defect prediction (SDP) methods are increasingly applied, often with the use of machine learning (ML) techniques. Yet, the existing ML-based approaches require manually extracted features, which are cumbersome, time consuming and hardly capture the semantic information reported in bug reporting tools. Deep learning (DL) techniques provide practitioners with the opportunities to automatically extract and learn from more complex and high-dimensional data. Objective: The purpose of this study is to systematically identify, analyze, summarize, and synthesize the current state of the utilization of DL algorithms for SDP in the literature. Method: We systematically selected a pool of 102 peer-reviewed studies and then conducted a quantitative and qualitative analysis using the data extracted from these studies. Results: Main highlights include: (1) most studies applied supervised DL; (2) two third of the studies used metrics as an input to DL algorithms; (3) Convolutional Neural Network is the most frequently used DL algorithm. Conclusion: Based on our findings, we propose to (1) develop more comprehensive DL approaches that automatically capture the needed features; (2) use diverse software artifacts other than source code; (3) adopt data augmentation techniques to tackle the class imbalance problem; (4) publish replication packages.

Saved in:
Bibliographic Details
Main Authors: Giray, Görkem, Bennin, Kwabena Ebo, Köksal, Ömer, Babur, Önder, Tekinerdogan, Bedir
Format: Article/Letter to editor biblioteca
Language:English
Subjects:Deep learning, Quality assurance, Software defect prediction, Systematic literature review,
Online Access:https://research.wur.nl/en/publications/on-the-use-of-deep-learning-in-software-defect-prediction
Tags: Add Tag
No Tags, Be the first to tag this record!