2004 · 55 citations · 17 references
ComputingComputer EngineeringComputer ScienceCompilersOperating SystemsProgramming LanguagesConcurrent ProgrammingControl-flow AnalysisData-flow AnalysisRuntime SystemsData Race AnalysisData Race ConditionsDynamic Race DetectionEscape AnalysisRace Condition AnalysisRace Condition DetectionRace Conditions In Memory Access
In multi-threaded programs, a data race results in extremely hard to locate bugs because of its nondeterministic 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.
17
Stefan Savage, Michael T. Burrows, Greg Nelson et al. · ACM Transactions on Computer Systems · 1997 · 1.6K citations · Full text
Jong-Deok Choi, Manish Gupta, Maurício Serrano et al. · 1999 · 505 citations · Full text
Type-based race detection for Java
Cormac Flanagan, Stephen N. Freund · 2000 · 446 citations