Goldilocks: Efficiently Computing the Happens-Before Relation Using Locksets

作者: Tayfun Elmas , Shaz Qadeer , Serdar Tasiran

DOI: 10.1007/11940197_13

关键词:

摘要: We present a new lockset-based algorithm, Goldilocks, for precisely computing the happens-before relation and thereby detecting data-races at runtime. Dynamic race detection algorithms in literature are based on vector clocks or locksets. Vector-clock-based compute but have significantly more overhead. Previous algorithms, other hand, imprecise. They check adherence to particular synchronization discipline, i.e., sufficient condition freedom may generate false warnings. Our like clocks, is precise, yet it efficient since purely lockset based. We implemented our algorithm inside Kaffe Java Virtual Machine. implementation incorporates lazy evaluation of locksets certain “short-circuit checks” which contribute its efficiency. Experimental results indicate that algorithm's overhead much less than vector-clock very close Eraser algorithm.

参考文章(21)
Koen De Bosschere, Mark Christiaens, TRaDe, a topological approach to on-the-fly race detection in java programs JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1. pp. 15- 15 ,(2001)
Alexey Loginov, Jong-Deok Choi, Vivek Sarkar, Static Datarace Analysis for Multithreaded Object-Oriented Programs ,(2001)
E. Pozniansky, A. Schuster, Efficient on-the-fly data race detection in multithreaded C++ programs international parallel and distributed processing symposium. pp. 287- ,(2003) , 10.1109/IPDPS.2003.1213513
Martin Rinard, Chandrasekhar Boyapati, Robert Lee, A Type System for Preventing Data Races and Deadlocks in Java Programs ,(2002)
Jerry J. Harrow, Runtime Checking of Multithreaded Applications with Visual Threads international workshop on model checking software. pp. 331- 342 ,(2000) , 10.1007/10722468_20
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, Thomas Anderson, Eraser: a dynamic data race detector for multithreaded programs ACM Transactions on Computer Systems. ,vol. 15, pp. 391- 411 ,(1997) , 10.1145/265924.265927
Christoph von Praun, Thomas R. Gross, Object race detection conference on object-oriented programming systems, languages, and applications. ,vol. 36, pp. 70- 82 ,(2001) , 10.1145/504282.504288
Robert H. B. Netzer, Barton P. Miller, What are race conditions?: Some issues and formalizations ACM Letters on Programming Languages and Systems. ,vol. 1, pp. 74- 88 ,(1992) , 10.1145/130616.130623
Michiel Ronsse, Koen De Bosschere, RecPlay: a fully integrated practical record/replay system ACM Transactions on Computer Systems. ,vol. 17, pp. 133- 152 ,(1999) , 10.1145/312203.312214