Comparative Analysis of Dynamic Data Race Detection Techniques
Danial Entezari

TL;DR
This paper compares the main dynamic data race detection techniques, analyzing their effectiveness, implementation, and performance, to determine the best tools for identifying harmful data races in multithreaded programs.
Contribution
It provides a comprehensive analysis of happens-before and lockset methods, evaluating various tools and their capabilities in dynamic data race detection.
Findings
Happens-before and lockset methods are the primary techniques for dynamic data race detection.
The paper evaluates the effectiveness of different tools employing these methods.
Dynamic analysis can identify many harmful data races but has limitations in detection accuracy.
Abstract
The consequences of data races can be potentially very problematic [1], and it is important to determine what tools and methods are best at detecting them. The following conditions must be met for a data race to occur: two or more threads in a single process access the same memory location concurrently, at least one of the accesses is for writing, and the threads are not using any exclusive locks to control their accesses to that memory. This paper reveals the techniques and implementations of the two main methods for dynamic data race detection techniques; the happens-before and lockset methods, and produces an analysis for several tools that employ either ({\S}4, {\S}5) or of both these methods ({\S}7.1) for detecting data races. This paper also reveals the extent to which dynamic data race detection (also called dynamic analysis) can identify harmful data races, how it can be…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsRadiation Effects in Electronics · Ferroelectric and Negative Capacitance Devices · Parallel Computing and Optimization Techniques
