Conference Paper

GBRAD: A General Framework to Evaluate Design Strategies for Hybrid Race Detection.

Jialin Yang, Wing Kwong Chan, Yuen-Tak Yu, Jacky W. Keung
COMPSAC (1) 2018 10.1109/COMPSAC.2018.00024

Abstract

Data race detection is a method in testing multithreaded programs to ensure their reliability against concurrency errors. In this paper, we present the GBRAD framework to support the initialization of various hybrid race detection techniques, which also supports the evaluation of these strategies at two decision points based on two major design factors of hybrid race detectors. In the GBRAD framework, one decision point consists of six skipping strategies and another decision point consists of eight reduction strategies. By combining these strategies, 48 hybrid detection techniques are initialized. We report a controlled experiment on the PARSEC benchmark suite as well as four real-world applications to evaluate these 48 techniques and their strategies in terms of runtime slowdown, memory overhead, and race detection effectiveness. The experiment identified 9 previously unknown techniques that are comparable to the state-of-the-art hybrid race detection technique. Keywords-multithreaded program; data race; lockset discipline violation; dynamic analysis; controlled experiment I. INTRODUCTION A data race (or race for short) occurs when two threads in an execution trace access the same memory location without any protection of their access order by synchronization primitives, and at least one of these accesses is a write access [6]. Data race occurrences may lead to memory state corruption, application-nonresponding (ANR), or program crashes. The presence of races in a program may also correlate to the presence of other concurrency bugs, such as linearizability error [2] and atomicity violations [6], [14]. Hybrid race detectors (e.g., [7]) combine both locksetbased [8] and happens-before based [4] techniques. For hybrid race detection, different design strategies can be used for achieving required performances in runtime slowdown, memory overhead, and detection effectiveness. However, to the best of our knowledge, no prior work in the literature has systematically evaluated those strategies. In this paper, we present a framework called GBRAD (Generic Hybrid Race Detection) by formulating a generic hybrid race detection algorithm and supporting two decision poin

Keywords