Skip to main navigation Skip to search Skip to main content

OpenSHMEM checker - A clang based static checker for OpenSHMEM

  • Md Abdullah Shahneous Bari
  • , Ujjwal Arora
  • , Varun Hegde
  • , Tony Curtis
  • , Barbara Chapman
  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

2 Scopus citations

Abstract

Compilers are generally not aware of the semantics of library-based parallel programming models such as MPI and OpenSHMEM, and hence are unable to detect programming errors related to their use. To alleviate this issue, we developed a custom static checker for OpenSHMEM programs based on LLVM's Clang Static Analyzer framework (CSA). We leverage the Symbolic Execution engine of the core Static Analyzer framework and its path-sensitive analysis to check for bugs on all OpenSHMEM program paths. We have identified common programming mistakes in OpenSHMEM programs that are detectable at compile-time and provided checks for them in the analyzer. They cover: utilization of the right type of memory (private vs. symmetric memory); safe/synchronized access to program data in the presence of asynchronous, one-sided communication; and double-free of memories allocated using OpenSHMEM memory allocation routines. Our experimental analysis showed that the static checker successfully detects bugs in OpenSHMEM code.

Original languageEnglish
Title of host publicationProceedings - 2021 20th International Symposium on Parallel and Distributed Computing, ISPDC 2021
EditorsRodica Potolea, Bogdan Iancu, Radu Razvan Slavescu
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages41-48
Number of pages8
ISBN (Electronic)9781665432818
DOIs
StatePublished - Jul 28 2021
Event20th International Symposium on Parallel and Distributed Computing, ISPDC 2021 - Virtual, Cluj-Napoca, Romania
Duration: Jul 28 2021Jul 30 2021

Publication series

NameProceedings - 2021 20th International Symposium on Parallel and Distributed Computing, ISPDC 2021

Conference

Conference20th International Symposium on Parallel and Distributed Computing, ISPDC 2021
Country/TerritoryRomania
CityVirtual, Cluj-Napoca
Period07/28/2107/30/21

Keywords

  • Compiler Analysis
  • OpenSHMEM
  • Static Analysis
  • Static Checker

Fingerprint

Dive into the research topics of 'OpenSHMEM checker - A clang based static checker for OpenSHMEM'. Together they form a unique fingerprint.

Cite this