On the Use of Deep Learning in Software Defect Prediction

10/05/2022
by   Görkem Giray, et al.
0

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.

READ FULL TEXT

page 13

page 18

research
12/14/2020

A Software Engineering Perspective on Engineering Machine Learning Systems: State of the Art and Challenges

Context: Advancements in machine learning (ML) lead to a shift from the ...
research
06/25/2020

On the Replicability and Reproducibility of Deep Learning in Software Engineering

Deep learning (DL) techniques have gained significant popularity among s...
research
03/13/2023

Systematic Evaluation of Deep Learning Models for Failure Prediction

With the increasing complexity and scope of software systems, their depe...
research
01/09/2023

A Survey of Learning-based Automated Program Repair

Automated program repair (APR) aims to fix software bugs automatically a...
research
09/12/2018

Deep Learning in Information Security

Machine learning has a long tradition of helping to solve complex inform...
research
07/27/2023

On the Suitability of Hugging Face Hub for Empirical Studies

Background. The development of empirical studies in software engineering...

Please sign up or login with your details

Forgot password? Click here to reset