Investigating the Use of Deep Neural Networks for Software Defect Prediction

2019 
Many software projects are shipped to customers containing defects. Defective software cost money, time, and lives. To reduce this harm, software companies allocate testing and quality assurance budgets. The enormous sizes of modern software pose challenges to traditional testing approaches due to the need for scalability. Defect prediction models have been used to direct testing efforts to probable causes of defects in the software. Early approaches for software defect prediction relied on statistical approaches to classify software modules and decide whether each module is a defect-prone module or not. Lately, many researchers used machine learning techniques to train a model that can classify software modules to defect-prone modules and not defect-prone modules. Starting from the new millennium, neural networks and deep learning won many competitions in machine learning applications. However, the use of deep learning to build a software defect prediction model was not investigated thoroughly. In this paper, we used a deep neural network to build a software defect prediction model and compared our proposed model with other machine learning algorithms like random forests, decision trees, and naive Bayesian networks. The result shows small improvement over the other learning models in most of the comparisons. These results prove the value of using deep learning for defect prediction and open the door for more experiments.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    23
    References
    1
    Citations
    NaN
    KQI
    []