OpenMP-Aware MHP Analysis for Improved Static Data-Race Detection
Parallel Programming Systems
TimeSunday, 14 November 202110:30am - 11:10am CST
DescriptionData-races are a common source of bugs in parallel programs. To detect race conditions in OpenMP programs and improve turnaround time and/or developer productivity, we present a data-flow analysis based, fast, static data-race checker in the LLVM compiler framework. Our tool can detect races in the presence or absence of explicit barriers, with implicit or explicit synchronization, and in OpenMP target offloading constructs.
We formalize and provide a data-flow analysis framework to perform Phase Interval Analysis (PIA) of OpenMP programs. Phase intervals are then used to compute the MHP (and its complement NHP) sets for the programs, which, in turn, are used to detect data-races statically.
We evaluate our work using multiple OpenMP race detection benchmarks and real world applications. Our experiments show that the checker is comparable to the state-of-the-art in various performance metrics with around 90% accuracy, almost perfect recall, and significantly lower runtime and memory footprint.