Skip to main content

NOPE: A Nondeterministic Program Evaluator

  • Conference paper
  • First Online:
Parallel Computation (ACPC 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1557))

Abstract

Nondeterminism in parallel programs can lead to different results in successive executions even if the same input is supplied. In order to allow debugging of such programs, some kind of replay technique is required. During an initial record phase a program’s execution is monitored and information about occurring events is stored in trace files. During subsequent replay steps the traces are used to reproduce an equivalent execution. The problem is that a trace describes one particular execution and therefore limits the user’s analysis abilities to this case. Other execution paths can only be analyzed if corresponding program runs can be monitored. This problem is addressed by the nondeterministic program evaluator NOPE, which extends traditional replay to automatically generate other possible execution paths. The idea is to perform combinatorial event manipulation of racing messages on an initial trace to enforce different event orders during replay. If each permutation is tested, different execution paths with previously unknown results and hidden errors may be revealed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Damodaran-Kamal, S.K. and Francioni, J.M., ”Testing Races in Parallel Programs with an OtOt Strategy”, Proc.1994 Intl. Symp. on Software Testing and Analysis, Seattle, WA (1994).

    Google Scholar 

  2. Dekel, E., Nassimi, D. and Sahni, S., ”Parallel Matrix and Graph Algorithms”, Siam Journal on Computing, Vol. 10, No. 4, pp. 657–675 (Nov. 1981).

    Article  MATH  MathSciNet  Google Scholar 

  3. Gait, J., ”The Probe Effect in Concurrent Programs”, IEEE Software-Practise and Experience, Vol. 16(3), pp. 225–233 (March 1986).

    Google Scholar 

  4. Geist, A., Beguelin, A., Dongarra, J., Joang, W., Manchek, R. and Sunderam, V., ”PVM 3 User’s Guide and Reference Manual”, Techn. Rep. ORNL/TM-12187, Oak Ridge Natl. Lab., Oak Ridge, TN (May 1994).

    Google Scholar 

  5. Helmbold, D.P. and McDowell, C.E. ”Race Detection-Ten Years Later”, in: Simmons, M.L. et al (Eds.), ”Debugging and Performance Tuning for Parallel Computing Systems”, IEEE CS Press, Los Alamitos, CA, pp. 101–126 (1996).

    Google Scholar 

  6. Kranzlmüller, D., Grabner, S. and Volkert, J., ”Event Graph Visualization for Debugging Large Applications”, Proc. of SPDT’96, SIGMETRICS Symposium on Parallel and Distributed Tools, Philadelphia, PA, pp. 108–117 (May 1996).

    Google Scholar 

  7. Kranzlmüller, D., Grabner, S. and Volkert, J., ”Debugging with the MAD Environment”, Parallel Computing, Vol. 23, Nos. 1–2, pp. 199–217 (Apr. 1997).

    Article  MATH  Google Scholar 

  8. Lamport, L., ”Time, Clocks, and the Ordering of Events in a Distributed System”, Comm. ACM, pp. 558–565 (July 1978).

    Google Scholar 

  9. LeBlanc, T.J. and Mellor-Crummey, J.M., ”Debugging Parallel Programs with Instant Replay”, IEEE Trans. Comp., Vol. C-36, No. 4, pp. 471–481 (Apr. 1987).

    Article  Google Scholar 

  10. Leu, E., Schiper, A., and Zramdini, A., ”Execution Replay on Distributed Memory Architectures”, Proc. 2nd IEEE Symp. on Parallel & Distributed Processing, Dallas, TX, pp. 106–112 (Dec. 1990).

    Google Scholar 

  11. Malony, A.D. and Reed D.A., ”Models for Performance Perturbation Analysis”, Proc. ACM/ONR Workshop on Parallel and Distributed Debugging, ACM SIGPLAN Notices, Vol. 26, No. 12, pp. 15–25 (Dec. 1991).

    Article  Google Scholar 

  12. Message Passing Interface Forum, ”MPI: A Message-Passing Interface Standard-Version 1.1”, http://www.mcs.anl.gov/mpi/ (June 1995).

  13. nCUBE Corporation, ”nCUBE 2 Programmer’s Guide” (1992).

    Google Scholar 

  14. Netzer, R.H.B. and Miller, B.P., ”Optimal Tracing and Replay for Message-Passing Parallel Programs”, Supercomputing’ 92, Minneapolis, MN (Nov. 1992).

    Google Scholar 

  15. Ronsse, M.A. and Kranzlmüller, D., ”RoltMP-Replay of Lamport Timestamps for Message Passing Systems”, Proc. 6th EUROMICRO Workshop on Parallel and Distributed Processing, Madrid, Spain, pp. 87–93, (Jan. 21–23, 1998).

    Google Scholar 

  16. Snelling, D.F. and Hoffmann, G.-R., ”A comparative study of libraries for parallel processing”, Proc. Intl. Conf. on Vector and Parallel Processors, Computational Science III, Parallel Computing, Vol. 8(1–3), pp. 255–266 (1988).

    Article  Google Scholar 

  17. Wasserman, H. and Blum, M., ”Program result-checking: a theory of testing meets a test of theory”, Proc. 35th IEEE Symp. Foundations of Computer Science, pp. 382–392 (1994).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kranzlmüller, D., Volkert, J. (1999). NOPE: A Nondeterministic Program Evaluator. In: Zinterhof, P., Vajteršic, M., Uhl, A. (eds) Parallel Computation. ACPC 1999. Lecture Notes in Computer Science, vol 1557. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49164-3_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-49164-3_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65641-8

  • Online ISBN: 978-3-540-49164-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics