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...
Main Authors: | , , , , |
---|---|
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 |