arrow
Return

SLDeep: Statement-level software defect prediction using deep-learning model on static code features

delete2020-06-01
delete59
PRE
AI
M
Mojtaba Vahidi-Asl *
A
Alireza Khalilian
H
Hassan Haghighi
DOI:10.1016/j.eswa.2019.113156delete
deleteOriginal
deleteShare
deleteSave
Abstract

Abstract

En 中文
Software defect prediction (SDP) seeks to estimate fault-prone areas of the code to focus testing activities on more suspicious portions. Consequently, high-quality software is released with less time and effort. The current SDP techniques however work at coarse-grained units, such as a module or a class, putting some burden on the developers to locate the fault. To address this issue, we propose a new technique called as Statement-Level software defect prediction using Deep-learning model (SLDeep). The significance of SLDeep for intelligent and expert systems is that it demonstrates a novel use of deep-learning models to the solution of a practical problem faced by software developers. To reify our proposal, we defined a suite of 32 statement-level metrics, such as the number of binary and unary operators used in a statement. Then, we applied as learning model, long short-term memory (LSTM). We conducted experiments using 119,989 C/C++ programs within Code4Bench. The programs comprise 2,356,458 lines of code of which 292,064 lines are faulty. The benchmark comprises a diverse set of programs and versions, written by thousands of developers. Therefore, it tends to give a model that can be used for cross-project SDP. In the experiments, our trained model could successfully classify the unseen data (that is, fault-proneness of new statements) with average performance measures 0.979, 0.570, and 0.702 in terms of recall, precision, and accuracy, respectively. These experimental results suggest that SLDeep is effective for statement-level SDP. The impact of this work is twofold. Working at statement-level further alleviates developer's burden in pinpointing the fault locations. Second, cross-project feature of SLDeep helps defect prediction research become more industrially-viable. (C) 2020 Elsevier Ltd. All rights reserved.
Keywords:
Defect
Software fault proneness
Machine learning
Fault prediction model
Software metric

Journal

Expert Systems with Applications cover
Expert Systems with Applications
IF:
7.5
Papers:
3.0W
Citations:
10.4W

Organization

S
Shahid Beheshti University
Scholars:
249
Papers: 122
Citations: 0
U
university of isfahan
Scholars:
130
Papers: 63
Citations: 0
Cited Papers

Cited Papers

A Systematic Literature Review on Fault Prediction Performance in Software Engineering
err2012-11-01
err772
errOAAI
errHall, Tracy; Beecham, Sarah; Bowes, David; Gray, David; Counsell, Steve
errShare
errSave
Developer Micro Interaction Metrics for Software Defect Prediction
err2016-11-01
err47
PREAI
errLee, Taek; Nam, Jaechang; Han, Donggyun; Kim, Sunghun; In, Hoh Peter
errShare
errSave
errShare
errSave
Software fault prediction metrics: A systematic literature review
err2013-08-01
err355
PREAI
errRadjenovic, Danijel; Hericko, Marjan; Torkar, Richard; Zivkovic, Ales
errShare
errSave
errShare
errSave
researcher View more