LLOV: A Fast Static Data-Race Checker for OpenMP Programs

by   Utpal Bora, et al.

In the era of Exascale computing, writing efficient parallel programs is indispensable and at the same time, writing sound parallel programs is highly difficult. While parallel programming is easier with frameworks such as OpenMP, the possibility of data races in these programs still persists. In this paper, we propose a fast, lightweight, language agnostic, and static data race checker for OpenMP programs based on the LLVM compiler framework. We compare our tool with other state-of-the-art data race checkers on a variety of well-established benchmarks. We show that the precision, accuracy, and the F1 score of our tool is comparable to other checkers while being orders of magnitude faster. To the best of our knowledge, this work is the only tool among the state-of-the-art data race checkers that can verify a FORTRAN program to be datarace free.


page 1

page 2

page 3

page 4


A Thread-Local Semantics and Efficient Static Analyses for Race Free Programs

Data race free (DRF) programs constitute an important class of concurren...

C11Tester: A Race Detector for C/C++ Atomics Technical Report

Writing correct concurrent code that uses atomics under the C/C++ memory...

Provable GPU Data-Races in Static Race Detection

We extend the theory behind the Faial tool-chain, which can soundly prov...

Dependence-Aware, Unbounded Sound Predictive Race Detection

Data races are a real problem for parallel software, yet hard to detect....

Fast, Sound and Effectively Complete Dynamic Race Detection

Writing concurrent programs is highly error-prone due to the nondetermin...

Efficient Race Detection with Futures

This paper addresses the problem of provably efficient and practically g...

Efficient Data Race Detection of Async-Finish Programs Using Vector Clocks

Existing data race detectors for task-based programs incur significant r...