IEEE Access (Jan 2023)

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

  • Norah Abdullah Al-Johany,
  • Fathy Elbouraey Eassa,
  • Sanaa Abdullah Sharaf,
  • Amin Y. Noaman,
  • Asaad Ahmed

DOI
https://doi.org/10.1109/ACCESS.2023.3285598
Journal volume & issue
Vol. 11
pp. 60668 – 60680

Abstract

Read online

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.

Keywords