Correctness Debugging of Message Passing Programs Using Model Verification Techniques

  • Robert Lovas
  • Peter Kacsuk
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4757)


During the correctness debugging of non-deterministic message-passing programs the software engineers must face the probe effect, the irreproducibility, the completeness problem, and also the large state-space to be discovered. This work attempts to over-come the limitation of existing debugging solutions, and combines the traditional debugging methods with automated modeling and formal verification of parallel programs. The presented debugging framework provides user-friendly facilities for active control and highly automated observation mechanism for message passing programs based on formal methods; Petri-net modeling, partial ordering of state space, and temporal logic assertions.


Parallel Program Kripke Structure Partial Order Reduction Execution Tree Entire State Space 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kacsuk, P., et al.: GRADE: A Graphical Programming Environment for Multicomputers. Computer and Artificial Intelligence. 17(5), 417–427 (1998)zbMATHGoogle Scholar
  2. 2.
    Kacsuk, P.: Systematic Macrostep Debugging of Message Passing Parallel Programs. Future Generation Computer Systems 16(6), 609–624 (2000)CrossRefGoogle Scholar
  3. 3.
    Tsiatsoulis, Z., Dozsa, G., Cotronis, Y., Kacsuk, P.: Associating Composition of Petri Net Specifications with Application Designs in Grade. In: Proc. of the Seventh Euromicro Workshop on Parallel and Distributed Processing, Funchal, Portugal, pp. 204–211 (1999)Google Scholar
  4. 4.
    Lovas, R., Vécsei, B.: Integration of formal verification and debugging methods in P-GRADE environment. In: Distributed and Parallel Systems: Cluster and Grid Computing. Kluwer International Series in Engineering and Computer Science, vol. 777, pp. 83–92 (2004)Google Scholar
  5. 5.
    Valmari, A.: A stubborn attack on state explosion. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 156–165. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  6. 6.
    Peled, D., Clarke, E.M., Grumberg, O., Minea, M., Peled, D.: State space reduction using partial order techniques. Software Tools for Technology Transfer 3(1), 279–287 (1999)Google Scholar
  7. 7.
    Kranzlmüller, D., Volkert, J.: NOPE: A Nondeterministic Program Evaluator. In: Zinterhof, P., Vajtersic, M., Uhl, A. (eds.) ACPC 1999 and ParNum 1999. LNCS, vol. 1557, pp. 490–499. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  8. 8.
    Kranzlmüller, D., Rimnac, A.: Parallel Program Debugging with MAD - A Practical Approach. In: International Conference on Computational Science 2003, pp. 201–212 (2003)Google Scholar
  9. 9.
    Krawczyk, H., et al.: STEPS - a Tool for Structural Testing of Parallel Software. In the book: Parallel Program Development for Cluster Computing: Methodology. In: Tools and Integrated Environments, ch. 16, pp. 334–354. Nova Science Publishers, New York (2001)Google Scholar
  10. 10.
    Cunha, J.C., et al.: The DDBG Distributed Debugger. In the book: Parallel Program Development for Cluster Computing: Methodology. In: Tools and Integrated Environments, ch. 13, pp. 292–303. Nova Science Publishers, New York (2001)Google Scholar
  11. 11.
    Kovacs, J., et al.: Integrating Temporal Assertions into a Parallel Debugger. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 113–120. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Robert Lovas
    • 1
  • Peter Kacsuk
    • 1
  1. 1.MTA SZTAKI, Laboratory of Parallel and Distributed Systems, H-1518 Budapest, P.O. Box 63Hungary

Personalised recommendations