• Open Access IconOpen Access
  • Cite Icon2
  • https://doi.org/10.1145/2490301.2451120Copy DOI Icon

Parallelizing data race detection

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Detecting data races in multithreaded programs is a crucial part of debugging such programs, but traditional data race detectors are too slow to use routinely. This paper shows how to speed up race detection by spreading the work across multiple cores. Our strategy relies on uniparallelism , which executes time intervals of a program (called epochs ) in parallel to provide scalability, but executes all threads from a single epoch on a single core to eliminate locking overhead. We use several techniques to make parallelization effective: dividing race detection into three phases, predicting a subset of the analysis state, eliminating sequential work via transitive reduction, and reducing the work needed to maintain multiple versions of analysis via factorization. We demonstrate our strategy by parallelizing a happens-before detector and a lockset-based detector. We find that uniparallelism can significantly speed up data race detection. With 4x the number of cores as the original application, our strategy speeds up the median execution time by 4.4x for a happens-before detector and 3.3x for a lockset race detector. Even on the same number of cores as the conventional detectors, the ability for uniparallelism to elide analysis locks allows it to reduce the median overhead by 13% for a happens-before detector and 8% for a lockset detector.

Similar Papers
  • Research Article
  • Citations2

VORD: A Versatile On-the-fly Race Detection Tool in OpenMP Programs

  • Jul 25, 2013
  • International Journal of Parallel Programming
  • Young-Joo Kim +2
  • Book Chapter
  • Citations14

Dynamic Data Race Detection for Correlated Variables

  • Jan 01, 2011
  • Ali Jannesari +2
  • Research Article
  • Citations81

Race detection for Android applications

  • Jun 05, 2014
  • ACM SIGPLAN Notices
  • Pallavi Maiya +2
  • Research Article
  • Citations1

First Race Detection in Parallel Program with Random Synchronization using Trace Information

  • Sep 30, 2013
  • International Journal of Software Engineering and Its Applications
  • Hee-Dong Park +1
  • Conference Article
  • Citations233

On-the-fly detection of data races for programs with nested fork-join parallelism

  • Jan 01, 1991
  • John Mellor-Crummey
  • Conference Article
  • Citations5

Does it matter?

  • Jun 03, 2021
  • Wenwen Wang +1
  • Book Chapter

Static Data Race Detection in Multi-task Programs for Industrial Robots

  • Jan 01, 2023
  • Ameena K Ashraf +1
  • Conference Article
  • Citations21

Parallel data race detection for task parallel programs with locks

  • Nov 01, 2016
  • Adarsh Yoga +2
  • Research Article

DR.FIX: Automatically Fixing Data Races at Industry Scale

  • Jun 10, 2025
  • Proceedings of the ACM on Programming Languages
  • Farnaz Behrang +4
  • Research Article
  • Citations3

Evaluation and comparison of ten data race detection techniques

  • Jan 01, 2017
  • International Journal of High Performance Computing and Networking
  • Xiaohong Su +3
  • Book Chapter
  • Citations62

Efficient Data Race Detection for Async-Finish Parallelism

  • Jan 01, 2010
  • Raghavan Raman +4
  • Research Article
  • Citations20

Acculock: accurate and efficient detection of data races

  • Apr 16, 2012
  • Software: Practice and Experience
  • Xinwei Xie +2
  • Conference Article
  • Citations11

On-the-fly healing of race conditions in ARINC-653 flight software

  • Oct 01, 2010
  • Ok-Kyoon Ha +3
  • Conference Article
  • Citations4

A Study on the Efficiency Aspect of Data Race Detection: A Compiler Optimization Level Perspective

  • Jul 01, 2013
  • Changjiang Jia +1
  • Conference Article
  • Citations53

Acculock: Accurate and efficient detection of data races

  • Apr 02, 2011
  • Xinwei Xie +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.