  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.
