MPI Errors Detection using GNN Embedding and Vector Embedding over LLVM IR
<|reference_start|>MPI Errors Detection using GNN Embedding and Vector Embedding over LLVM IR: Identifying errors in parallel MPI programs is a challenging task. Despite the growing number of verification tools, debugging parallel programs remains a significant challenge. This paper is the first to utilize embedding and deep learning graph neural networks (GNNs) to tackle the issue of identifying bugs in MPI programs. Specifically, we have designed and developed two models that can determine, from a code's LLVM Intermediate Representation (IR), whether the code is correct or contains a known MPI error. We tested our models using two dedicated MPI benchmark suites for verification: MBI and MPI-CorrBench. By training and validating our models on the same benchmark suite, we achieved a prediction accuracy of 92% in detecting error types. Additionally, we trained and evaluated our models on distinct benchmark suites (e.g., transitioning from MBI to MPI-CorrBench) and achieved a promising accuracy of over 80%. Finally, we investigated the interaction between different MPI errors and quantified our models' generalization capabilities over new unseen errors. This involved removing error types during training and assessing whether our models could still predict them. The detection accuracy of removed errors varies significantly between 20% to 80%, indicating connected error patterns.<|reference_end|>
@article{karchi2024mpi,
    title={MPI Errors Detection using GNN Embedding and Vector Embedding over LLVM
  IR},
    author={Jad El Karchi, Hanze Chen, Ali TehraniJamsaz, Ali Jannesari, Mihail
  Popov, Emmanuelle Saillard},
    journal={arXiv preprint arXiv:2403.02518},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.02518},
    primaryClass={cs.DC cs.SE}
}