Home / Journals / CMC / Online First / doi:10.32604/cmc.2024.047392
Special lssues
Table of Content

Open Access

ARTICLE

Static Analysis Techniques for Fixing Software Defects in MPI-Based Parallel Programs

Norah Abdullah Al-Johany1,*, Sanaa Abdullah Sharaf1,2, Fathy Elbouraey Eassa1,2, Reem Abdulaziz Alnanih1,2,*
1 Department of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, 21589, Saudi Arabia
2 Software Engineering and Distributed System Research Group, King Abdulaziz University, Jeddah, 21589, Saudi Arabia
* Corresponding Author: Norah Abdullah Al-Johany. Email: email; Reem Abdulaziz Alnanih. Email: email

Computers, Materials & Continua https://doi.org/10.32604/cmc.2024.047392

Received 10 November 2023; Accepted 20 December 2023; Published online 26 April 2024

Abstract

The Message Passing Interface (MPI) is a widely accepted standard for parallel computing on distributed memory systems. However, MPI implementations can contain defects that impact the reliability and performance of parallel applications. Detecting and correcting these defects is crucial, yet there is a lack of published models specifically designed for correcting MPI defects. To address this, we propose a model for detecting and correcting MPI defects (DC_MPI), which aims to detect and correct defects in various types of MPI communication, including blocking point-to-point (BPTP), nonblocking point-to-point (NBPTP), and collective communication (CC). The defects addressed by the DC_MPI model include illegal MPI calls, deadlocks (DL), race conditions (RC), and message mismatches (MM). To assess the effectiveness of the DC_MPI model, we performed experiments on a dataset consisting of 40 MPI codes. The results indicate that the model achieved a detection rate of 37 out of 40 codes, resulting in an overall detection accuracy of 92.5%. Additionally, the execution duration of the DC_MPI model ranged from 0.81 to 1.36 s. These findings show that the DC_MPI model is useful in detecting and correcting defects in MPI implementations, thereby enhancing the reliability and performance of parallel applications. The DC_MPI model fills an important research gap and provides a valuable tool for improving the quality of MPI-based parallel computing systems.

Keywords

High-performance computing; parallel computing; software engineering; software defect; message passing interface; deadlock
  • 59

    View

  • 11

    Download

  • 0

    Like

Share Link