usenix conference policies

In
multi-threaded programs, a data race results in extremely hard to locate
bugs because of its non-deterministic behavior. This paper describes a
novel dynamic data race detection method for object-oriented programming
languages. The proposed method is based on the lockset algorithm. It
uses read-barrier-based dynamic escape analysis for reducing number of
memory locations that must be checked at runtime for detecting data
races.

We
implemented the proposed data race detection method in HotSpot Java1 VM.
The results of an experimental evaluation show a significant
performance improvement over the previous write-barrier-based method and
also that the proposed method can perform data race detection with a
relatively small runtime overhead.