Abstract
This article presents the results of a novel approach to race detection in multi-threaded Java programs. Using a topological approach to reduce the set of objects needing to be observed for data races, we have succeeded in reducing significantly the time needed to do data race detection. Currently, we perform data race detection faster than all known competition. Furthermore, TRaDe can perform data race detection for applications with a high, dynamically varying number of threads through the use of a technique called `accordion clocks’.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
J. Aldrich, C. Chambers, E. G. Sirer, and S. Eggers. Static analyses for eliminating unnecessary synchronization from Java programs. In Static Analysis Symposium 99, September 1999.
Jeff Bogda and Urs Hölzle. Removing unnecessary synchronisation in Java. Technical report, Department of Computer Science, University of California, Santa Barbara, CA 93106, april 1999.
Bernadette Charron-Bost. Concerning the size of logical clocks in distributed systems. Information Processing Letters, 1(39):11–16, July 1991.
C. J. Fidge. Partial orders for parallel debugging. In Proceedings of the ACM SIGPLAN and SIGOPS Workshop on Parallel and distributed debugging, pages 183–194, May 1988.
Dieter Haban and Wolfgang Weigel. Global events and global breakpoints in distributed systems. In 21st Annual Hawaii International Conference on System Sciences, volume II, pages 166–175. IEEE Computer Society, January 1988.
KL Group, 260 King Street East, Toronto, Ontario, Canada. Getting Started with JProbe.
Kuck & Associates, Inc., 1906 Fox Drive, Champaign, IL 61820-7345, USA. Assure User’s Manual, 2.0 edition, march 1999.
Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification. The Java Series. Addison-Wesley, 1997.
R. H. B. Netzer. Race Condition Detection for Debugging Shared-Memory Parallel Programs. PhD thesis, University of Wisconsin-Madison, 1991.
Michiel Ronsse and Koen De Bosschere. JiTI: Tracing Memory References for Data Race Detection. In E. D’Hollander, F. J. Joubert, and U. Trottenberg, editors, Proceedings of ParCo97: Parallel Computing: Fundamentals, Applications and New Directions, volume 12 of Advances in Parallel Computing, pages 327–334, Bonn, February 1998. North Holland.
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, and Thomas Anderson. Eraser: A dynamic data race detector for multi-threaded programs. In Operating Systems Review, volume 31, pages 27–37. ACM, October 1997.
Reinhard Schwarz and Friedman Mattern. Detecting causal relationships in distributed computations: in search of the holy grail. Distributed Computing, 7(3):149–174, 1994.
Bill Venners. Inside the Java Virtual Machine. McGraw-Hill, New York, New York, USA, second edition, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Christiaens, M., De Bosschere, K. (2001). TRaDe: Data Race Detection for Java. In: Alexandrov, V.N., Dongarra, J.J., Juliano, B.A., Renner, R.S., Tan, C.J.K. (eds) Computational Science - ICCS 2001. ICCS 2001. Lecture Notes in Computer Science, vol 2074. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45718-6_81
Download citation
DOI: https://doi.org/10.1007/3-540-45718-6_81
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42233-4
Online ISBN: 978-3-540-45718-3
eBook Packages: Springer Book Archive