Prediction and Correction of Software Defects in Message-Passing Interfaces Using a Static Analysis Tool and Machine Learning

The Software Defect Prediction (SDP) method forecasts the occurrence of defects at the beginning of the software development process. Early fault detection will decrease the overall cost of software and improve its dependability. However, no effort has been made in high-performance software to addre...

Full description

Bibliographic Details
Main Authors: Norah Abdullah Al-Johany, Fathy Elbouraey Eassa, Sanaa Abdullah Sharaf, Amin Y. Noaman, Asaad Ahmed
Format: Article
Language:English
Published: IEEE 2023-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/10151880/
_version_ 1797797255730692096
author Norah Abdullah Al-Johany
Fathy Elbouraey Eassa
Sanaa Abdullah Sharaf
Amin Y. Noaman
Asaad Ahmed
author_facet Norah Abdullah Al-Johany
Fathy Elbouraey Eassa
Sanaa Abdullah Sharaf
Amin Y. Noaman
Asaad Ahmed
author_sort Norah Abdullah Al-Johany
collection DOAJ
description The Software Defect Prediction (SDP) method forecasts the occurrence of defects at the beginning of the software development process. Early fault detection will decrease the overall cost of software and improve its dependability. However, no effort has been made in high-performance software to address it. The contribution of this paper is predicting and correcting software defects in the Message Passing Interface (MPI) based on machine learning (ML). This system predicts defects including deadlock, race conditions, and mismatch, by dividing the model into three stages: training, testing, and prediction. The training phase extracts and combines the features as well as the label and then trains on classification. During the testing phase, these features are extracted and classified. The prediction phase inputs the MPI code and determines whether it includes defects. If it discovers a defect, the correction subsystem corrects it. We collected 40 MPI codes in C++, including all MPI communication. Results show the NB classifiers have high accuracy, precision, and recall, which are about 1.
first_indexed 2024-03-13T03:45:24Z
format Article
id doaj.art-4375add5fe30485a97f3440ed7e521b6
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-03-13T03:45:24Z
publishDate 2023-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-4375add5fe30485a97f3440ed7e521b62023-06-22T23:00:41ZengIEEEIEEE Access2169-35362023-01-0111606686068010.1109/ACCESS.2023.328559810151880Prediction and Correction of Software Defects in Message-Passing Interfaces Using a Static Analysis Tool and Machine LearningNorah Abdullah Al-Johany0https://orcid.org/0000-0002-4034-3580Fathy Elbouraey Eassa1https://orcid.org/0000-0003-3987-9051Sanaa Abdullah Sharaf2https://orcid.org/0000-0003-0806-1396Amin Y. Noaman3Asaad Ahmed4https://orcid.org/0000-0001-7730-801XDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaThe Software Defect Prediction (SDP) method forecasts the occurrence of defects at the beginning of the software development process. Early fault detection will decrease the overall cost of software and improve its dependability. However, no effort has been made in high-performance software to address it. The contribution of this paper is predicting and correcting software defects in the Message Passing Interface (MPI) based on machine learning (ML). This system predicts defects including deadlock, race conditions, and mismatch, by dividing the model into three stages: training, testing, and prediction. The training phase extracts and combines the features as well as the label and then trains on classification. During the testing phase, these features are extracted and classified. The prediction phase inputs the MPI code and determines whether it includes defects. If it discovers a defect, the correction subsystem corrects it. We collected 40 MPI codes in C++, including all MPI communication. Results show the NB classifiers have high accuracy, precision, and recall, which are about 1.https://ieeexplore.ieee.org/document/10151880/High-performance computingsoftware defect predictionsemantic featuresmessage passing interfaceparallel programming
spellingShingle Norah Abdullah Al-Johany
Fathy Elbouraey Eassa
Sanaa Abdullah Sharaf
Amin Y. Noaman
Asaad Ahmed
Prediction and Correction of Software Defects in Message-Passing Interfaces Using a Static Analysis Tool and Machine Learning
IEEE Access
High-performance computing
software defect prediction
semantic features
message passing interface
parallel programming
title Prediction and Correction of Software Defects in Message-Passing Interfaces Using a Static Analysis Tool and Machine Learning
title_full Prediction and Correction of Software Defects in Message-Passing Interfaces Using a Static Analysis Tool and Machine Learning
title_fullStr Prediction and Correction of Software Defects in Message-Passing Interfaces Using a Static Analysis Tool and Machine Learning
title_full_unstemmed Prediction and Correction of Software Defects in Message-Passing Interfaces Using a Static Analysis Tool and Machine Learning
title_short Prediction and Correction of Software Defects in Message-Passing Interfaces Using a Static Analysis Tool and Machine Learning
title_sort prediction and correction of software defects in message passing interfaces using a static analysis tool and machine learning
topic High-performance computing
software defect prediction
semantic features
message passing interface
parallel programming
url https://ieeexplore.ieee.org/document/10151880/
work_keys_str_mv AT norahabdullahaljohany predictionandcorrectionofsoftwaredefectsinmessagepassinginterfacesusingastaticanalysistoolandmachinelearning
AT fathyelbouraeyeassa predictionandcorrectionofsoftwaredefectsinmessagepassinginterfacesusingastaticanalysistoolandmachinelearning
AT sanaaabdullahsharaf predictionandcorrectionofsoftwaredefectsinmessagepassinginterfacesusingastaticanalysistoolandmachinelearning
AT aminynoaman predictionandcorrectionofsoftwaredefectsinmessagepassinginterfacesusingastaticanalysistoolandmachinelearning
AT asaadahmed predictionandcorrectionofsoftwaredefectsinmessagepassinginterfacesusingastaticanalysistoolandmachinelearning