Integrating Temporal Assertions into a Parallel Debugger

  • Jozsef Kovacs
  • Gabor Kusper
  • Robert Lovas
  • Wolfgang Schreiner
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2400)

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    E. M. Clarke, Jr., O. Grumberg, and D. A. Peled. Model Checking. MIT Press, Cambridge, MA, 1999.Google Scholar
  2. 2.
    J. Cuny et al. The Ariadne Debugger: Scalable Application of Event-Based Abstraction. SIGPLAN Notices, 28(12):85–95, December 1993.Google Scholar
  3. 3.
    D. Drusinsky. The Temporal Rover and the ATG Rover. In SPIN Model Checking and Software Verification, 7th International SPIN Workshop, volume 1885 of LNCS, pages 323–330, Stanford, CA, August 30-September 1, 2000. Springer.CrossRefGoogle Scholar
  4. 4.
    J. Hakansson. Automated Generation of Test Scripts from Temporal Logic Specifications. Master’s thesis, Uppsala University, Sweden, 2000.Google Scholar
  5. 5.
    A. Hough and J. Cuny. Initial Experiences with a Pattern-Oriented Parallel Debugger. SIGPLAN Notices, 24(1):195–205, January 1988.Google Scholar
  6. 6.
    P. Kacsuk. Systematic Macrostep-by Macrostep Debugging of Message Passing Parallel Programs. Future Generation Computer Systems, 16(6):609–624, 2000.CrossRefGoogle Scholar
  7. 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. 8.
    D. Kranzlmüller. Event Graph Analysis for Debugging Massively Parallel Programs. PhD thesis, Johannes Kepler University, September 2000.Google Scholar
  9. 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. 10.
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems — Specification. Springer, Berlin, 1992.Google Scholar
  11. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Jozsef Kovacs
    • 1
  • Gabor Kusper
    • 2
  • Robert Lovas
    • 1
  • Wolfgang Schreiner
    • 2
  1. 1.Hungarian Academy of SciencesComputer and Automation Research Institute (MTA SZTAKI)BudapestHungary
  2. 2.Research Institute for Symbolic Computation (RISC-Linz)Johannes Kepler UniversityLinzAustria

Personalised recommendations