AtomRace: data race and atomicity violation detector and healer

  • Authors:
  • Zdeněk Letko;Tomáš Vojnar;Bohuslav Křena

  • Affiliations:
  • Brno University of Technology, Brno, Czech Republic;Brno University of Technology, Brno, Czech Republic;Brno University of Technology, Brno, Czech Republic

  • Venue:
  • PADTAD '08 Proceedings of the 6th workshop on Parallel and distributed systems: testing, analysis, and debugging
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The paper proposes a novel algorithm called AtomRace for a dynamic detection of data races. Data races are detected as a special case of atomicity violations on atomic sections specially defined to span just particular read/write instructions and the transfer of control to and from them. A key ingredient allowing AtomRace to efficiently detect races on such short atomic sections is a use of techniques for a careful injection of noise into the scheduling of the monitored programs. The approach is very simple, fully automated, avoids false alarms, and allows for a lower overhead and better scalability than many other existing dynamic data race detection algorithms. We illustrate these facts by a set of experiments with a prototype implementation of AtomRace. Further, AtomRace can also be applied to detect atomicity violations on more general atomic sections than those used for the data race detection. They can be defined by the user or obtained by some static analysis.