Integrating Temporal Assertions into a Parallel Debugger
We describe the use of temporal logic formulas as runtime assertions in a parallel debugging environment. The user asserts in a message passing program the expected system behavior by one or several such formulas. The debugger allows by “macro-stepping” to interactively elaborate the execution tree (i.e., the set of possible execution paths) which arises from the use of non-deterministic communication operations. In each macro-step, a temporal logic checker verifies that the once asserted temporal formulas are not violated by the current program state. Our approach thus introduces powerful runtime assertions into parallel and distributed debugging by incorporating ideas from the model checking of temporal formulas.
KeywordsModel Check Temporal Logic Parallel Program Execution Path Linear Time Temporal Logic
Unable to display preview. Download preview PDF.
- 1.E. M. Clarke, Jr., O. Grumberg, and D. A. Peled. Model Checking. MIT Press, Cambridge, MA, 1999.Google Scholar
- 2.J. Cuny et al. The Ariadne Debugger: Scalable Application of Event-Based Abstraction. SIGPLAN Notices, 28(12):85–95, December 1993.Google Scholar
- 4.J. Hakansson. Automated Generation of Test Scripts from Temporal Logic Specifications. Master’s thesis, Uppsala University, Sweden, 2000.Google Scholar
- 5.A. Hough and J. Cuny. Initial Experiences with a Pattern-Oriented Parallel Debugger. SIGPLAN Notices, 24(1):195–205, January 1988.Google Scholar
- 7.P. Kacsuk, R. Lovas, and J. Kovács. Systematic Debugging of Parallel Programs in DIWIDE Based on Collective Breakpoints and Macrosteps. In P. Amestoy et al., editors, 5th Euro-Par Conference, volume 1685 of Lecture Notes in Computer Science, pages 90–97, Toulouse, France, August 31 — September 3, 1999. Springer.Google Scholar
- 8.D. Kranzlmüller. Event Graph Analysis for Debugging Massively Parallel Programs. PhD thesis, Johannes Kepler University, September 2000.Google Scholar
- 9.D. Kranzlmüller and J. Volkert. NOPE: A Nondeterministic Program Evaluator. In Parallel Computation, 4th International AC PC Conference, volume 1557 of LNCS, pages 490–499, Salzburg, Austria, February 16-18, 1999. Springer.Google Scholar
- 10.Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems — Specification. Springer, Berlin, 1992.Google Scholar
- 11.S. Shende et al. Event-and State-based Debugging in TAU: A Prototype. In ACM SIGMETRICS Symposium on Parallel and Distributed Tools, pages 21–30, Philadelphia, PA, May 1996.Google Scholar