Get access

Acculock: accurate and efficient detection of data races

Authors

  • Xinwei Xie,

    1. Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, NSW, Australia 2052
    2. School of Computer Science, National University of Defense Technology, Changsha, Hunan 410073, China
    Search for more papers by this author
  • Jingling Xue,

    Corresponding author
    • Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, NSW, Australia 2052
    Search for more papers by this author
  • Jie Zhang

    1. College of Information Science and Technology, Beijing University of Chemical Technology, Beijing, China
    Search for more papers by this author

Correspondence to: Jingling Xue, Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, NSW, Australia 2052.

E-mail: jingling@cse.unsw.edu.au

SUMMARY

This paper introduces a new dynamic data race detector, ACCULOCK, to detect data races in Java programs. ACCULOCK is the first hybrid detector that combines lockset and epoch-based happens-before for race detection. ACCULOCK analyzes a program execution by reasoning about the subset of the happens-before relation observed with lock acquires and releases excluded, thereby making it less sensitive to thread interleaving than pure happens-before detectors. When this relaxed happens-before relation is violated, ACCULOCK applies a new lockset algorithm to verify the locking discipline by distinguishing reads and writes, thereby making it more immune to false positives than pure lockset detectors. In addition, ACCULOCK is designed to achieve these design objectives by maintaining comparable instrumentation overheads (in both time and space) to that of FASTTRACK, the fastest happens-before detector available (at least for Java programs). All these properties of ACCULOCK have been validated and confirmed by comparing it against FASTTRACK and five other (pure happens-before, pure lockset, or hybrid) detectors, which are implemented in the Jikes Research Virtual Machine using a collection of large benchmark programs from a variety of applications. Furthermore, porting ACCULOCK and FASTTRACK to a different platform, RoadRunner, and repeating our experiments yield similar observations in terms of their effectiveness in race detection and instrumentation overheads. Copyright © 2012 John Wiley & Sons, Ltd.

Get access to the full text of this article

Ancillary