Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM)

In recent years, the software industry has invested substantial effort to improve software quality in organizations. Applying proactive software defect prediction will help developers and white box testers to find the defects earlier, and this will reduce the time and effort. Traditional software de...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Ahmed Bahaa Farid, Enas Mohamed Fathy, Ahmed Sharaf Eldin, Laila A. Abd-Elmegid
Formato: article
Lenguaje:EN
Publicado: PeerJ Inc. 2021
Materias:
Acceso en línea:https://doaj.org/article/2c247fe8e5db4cf1a34df6acf36a648e
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
id oai:doaj.org-article:2c247fe8e5db4cf1a34df6acf36a648e
record_format dspace
spelling oai:doaj.org-article:2c247fe8e5db4cf1a34df6acf36a648e2021-11-18T15:05:13ZSoftware defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM)10.7717/peerj-cs.7392376-5992https://doaj.org/article/2c247fe8e5db4cf1a34df6acf36a648e2021-11-01T00:00:00Zhttps://peerj.com/articles/cs-739.pdfhttps://peerj.com/articles/cs-739/https://doaj.org/toc/2376-5992In recent years, the software industry has invested substantial effort to improve software quality in organizations. Applying proactive software defect prediction will help developers and white box testers to find the defects earlier, and this will reduce the time and effort. Traditional software defect prediction models concentrate on traditional features of source code including code complexity, lines of code, etc. However, these features fail to extract the semantics of source code. In this research, we propose a hybrid model that is called CBIL. CBIL can predict the defective areas of source code. It extracts Abstract Syntax Tree (AST) tokens as vectors from source code. Mapping and word embedding turn integer vectors into dense vectors. Then, Convolutional Neural Network (CNN) extracts the semantics of AST tokens. After that, Bidirectional Long Short-Term Memory (Bi-LSTM) keeps key features and ignores other features in order to enhance the accuracy of software defect prediction. The proposed model CBIL is evaluated on a sample of seven open-source Java projects of the PROMISE dataset. CBIL is evaluated by applying the following evaluation metrics: F-measure and area under the curve (AUC). The results display that CBIL model improves the average of F-measure by 25% compared to CNN, as CNN accomplishes the top performance among the selected baseline models. In average of AUC, CBIL model improves AUC by 18% compared to Recurrent Neural Network (RNN), as RNN accomplishes the top performance among the selected baseline models used in the experiments.Ahmed Bahaa FaridEnas Mohamed FathyAhmed Sharaf EldinLaila A. Abd-ElmegidPeerJ Inc.articleDefect Software defect prediction Abstract syntax tree Machine learning Deep learning Convolutional neural networkElectronic computers. Computer scienceQA75.5-76.95ENPeerJ Computer Science, Vol 7, p e739 (2021)
institution DOAJ
collection DOAJ
language EN
topic Defect
Software defect prediction
Abstract syntax tree
Machine learning
Deep learning
Convolutional neural network
Electronic computers. Computer science
QA75.5-76.95
spellingShingle Defect
Software defect prediction
Abstract syntax tree
Machine learning
Deep learning
Convolutional neural network
Electronic computers. Computer science
QA75.5-76.95
Ahmed Bahaa Farid
Enas Mohamed Fathy
Ahmed Sharaf Eldin
Laila A. Abd-Elmegid
Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM)
description In recent years, the software industry has invested substantial effort to improve software quality in organizations. Applying proactive software defect prediction will help developers and white box testers to find the defects earlier, and this will reduce the time and effort. Traditional software defect prediction models concentrate on traditional features of source code including code complexity, lines of code, etc. However, these features fail to extract the semantics of source code. In this research, we propose a hybrid model that is called CBIL. CBIL can predict the defective areas of source code. It extracts Abstract Syntax Tree (AST) tokens as vectors from source code. Mapping and word embedding turn integer vectors into dense vectors. Then, Convolutional Neural Network (CNN) extracts the semantics of AST tokens. After that, Bidirectional Long Short-Term Memory (Bi-LSTM) keeps key features and ignores other features in order to enhance the accuracy of software defect prediction. The proposed model CBIL is evaluated on a sample of seven open-source Java projects of the PROMISE dataset. CBIL is evaluated by applying the following evaluation metrics: F-measure and area under the curve (AUC). The results display that CBIL model improves the average of F-measure by 25% compared to CNN, as CNN accomplishes the top performance among the selected baseline models. In average of AUC, CBIL model improves AUC by 18% compared to Recurrent Neural Network (RNN), as RNN accomplishes the top performance among the selected baseline models used in the experiments.
format article
author Ahmed Bahaa Farid
Enas Mohamed Fathy
Ahmed Sharaf Eldin
Laila A. Abd-Elmegid
author_facet Ahmed Bahaa Farid
Enas Mohamed Fathy
Ahmed Sharaf Eldin
Laila A. Abd-Elmegid
author_sort Ahmed Bahaa Farid
title Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM)
title_short Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM)
title_full Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM)
title_fullStr Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM)
title_full_unstemmed Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM)
title_sort software defect prediction using hybrid model (cbil) of convolutional neural network (cnn) and bidirectional long short-term memory (bi-lstm)
publisher PeerJ Inc.
publishDate 2021
url https://doaj.org/article/2c247fe8e5db4cf1a34df6acf36a648e
work_keys_str_mv AT ahmedbahaafarid softwaredefectpredictionusinghybridmodelcbilofconvolutionalneuralnetworkcnnandbidirectionallongshorttermmemorybilstm
AT enasmohamedfathy softwaredefectpredictionusinghybridmodelcbilofconvolutionalneuralnetworkcnnandbidirectionallongshorttermmemorybilstm
AT ahmedsharafeldin softwaredefectpredictionusinghybridmodelcbilofconvolutionalneuralnetworkcnnandbidirectionallongshorttermmemorybilstm
AT lailaaabdelmegid softwaredefectpredictionusinghybridmodelcbilofconvolutionalneuralnetworkcnnandbidirectionallongshorttermmemorybilstm
_version_ 1718420775694761984