Abstract
This paper presents a tool that enables programmers to use cyclic debugging techniques for debugging non-deterministic parallel programs. The solution consists of a combination of record/replay with automatic on-the-fly data race detection. This combination enables us to limit the record phase to the more efficient recording of the synchronization operations, and checking for data races during a replayed execution. As the record phase is highly efficient, there is no need to switch it off, hereby eliminating the possibility of Heisenbugs because tracing can be left on all the time.
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
Jong-Deok Choi and Sang Lyul Min. Race frontier: Reproducing data races in parallel-program debugging. In Proc. of the Third ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming, volume 26, pages 145–154, July 1991.
Koen De Bosschere and Michiel Ronsse. Clock snooping and its application in on-the-fly data race detection. In Proceedings of the 1997 International Symposium on Parallel Algorithms and Networks (I-SPAN’97), pages 324–330, Taipei, December 1997. IEEE Computer Society.
C. J. Fidge. Logical time in distributed computing systems. In IEEE Computer, volume 24, pages 28–33. August 1991.
Jason Gait. A probe effect in concurrent programs. Software-Practice and Experience, 16(3):225–233, March 1986.
Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558–565, July 1978.
Luk J. Levrouw, Koenraad M. Audenaert, and Jan M. Van Campenhout. A new trace and replay system for shared memory programs based on Lamport Clocks. In Proceedings of the Second Euromicro Workshop on Parallel and Distributed Processing, pages 471–478. IEEE Computer Society Press, January 1994.
Hsueh-I Lu, Philip N. Klein, and Robert H. B. Netzer. Detecting race conditions in parallel programs that use one semaphore. Workshop on Algorithms and Data Structures (WADS), Montreal, August 1993.
Thomas J. LeBlanc and John M. Mellor-Crummey. Debugging parallel programs with Instant Replay. IEEE Transactions on Computers, C-36(4):471–482, April 1987.
Friedemann Mattern. Virtual time and global states of distributed systems. In Cosnard, Quinton, Raynal, and Roberts, editors, Proceedings of the Intl. Workshop on Parallel and Distributed Algorithms, pages 215–226. Elsevier Science Publishers B. V., North-Holland, 1989.
Robert H. B. Netzer. Optimal tracing and replay for debugging shared-memory parallel programs. In Proceedings ACM/ONR Workshop on Parallel and Distributed Debugging, pages 1–11, May 1993.
M. Ronsse and K. De Bosschere. Jiti: A robust just in time instrumentation technique. In Proceedings of WBT-2000 (Workshop on Binary Translation), Philadelphia, 10 2000.
M. Ronsse, L. Levrouw, and K. Bastiaens. Efficient coding of executiontraces of parallel programs. In J. P. Veen, editor, Proceedings of the ProRISC / IEEE Benelux Workshop on Circuits, Systems and Signal Processing, pages 251–258. STW, Utrecht, March 1995.
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, and Thomas Anderson. Eraser: A dynamic data race detector for multi-threaded programs. ACM Transactions on Computer Systems, 15(4):391–411, November 1997.
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
Ronsse, M., Christiaens, M., De Bosschere, K. (2001). Cyclic Debugging Using Execution Replay. 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_90
Download citation
DOI: https://doi.org/10.1007/3-540-45718-6_90
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