Skip to main content

Model Checking Nonblocking MPI Programs

  • Conference paper
Verification, Model Checking, and Abstract Interpretation (VMCAI 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4349))

Abstract

This paper explores a way to apply model checking techniques to parallel programs that use the nonblocking primitives of the Message Passing Interface (MPI). The method has been implemented as an extension to the model checker Spin called Mpi-Spin. It has been applied to 17 examples from a widely-used textbook on MPI. Many correctness properties of these examples were verified and in two cases nontrivial faults were discovered.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Holzmann, G.J.: The Spin Model Checker. Addison-Wesley, Boston (2004)

    Google Scholar 

  2. Matlin, O.S., Lusk, E., McCune, W.: SPINning parallel systems software. In: Bošnački, D., Leue, S. (eds.) Model Checking Software. LNCS, vol. 2318, pp. 11–13. Springer, Heidelberg (2002)

    Google Scholar 

  3. Message Passing Interface Forum: MPI: A Message-Passing Interface standard, version 1.1, http://www.mpi-forum.org/docs/ (1995)

  4. Message Passing Interface Forum: MPI-2: Extensions to the Message-Passing Interface. http://www.mpi-forum.org/docs/ (1997)

  5. Pervez, S., et al.: Formal verification of programs that use MPI one-sided communication. In: Mohr, B., et al. (eds.) Recent Advances in Parallel Virtual Machine and Message Passing Interface. LNCS, vol. 4192, Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Post, D.E., Votta, L.G.: Computational science demands a new paradigm. Physics Today, 35–41 (January 2005)

    Google Scholar 

  7. Siegel, S.F.: Efficient verification of halting properties for MPI programs with wildcard receives. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 17–19. Springer, Heidelberg (2005)

    Google Scholar 

  8. Siegel, S.F., Avrunin, G.S.: Modeling MPI programs for verification. Technical Report UM-CS-2004-75, Department of Computer Science, University of Massachusetts (2004)

    Google Scholar 

  9. Siegel, S.F., Avrunin, G.S.: Verification of MPI-based software for scientific computation. In: Graf, S., Mounier, L. (eds.) Model Checking Software. LNCS, vol. 2989, pp. 1–3. Springer, Heidelberg (2004)

    Google Scholar 

  10. Siegel, S.F., Avrunin, G.S.: Modeling wildcard-free MPI programs for verification. In: Proceedings of the 2005 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. PPoPP’05, Chicago, Illinois, USA, June 15–17, 2005, pp. 15–17. ACM Press, New York (2005)

    Google Scholar 

  11. Siegel, S.F., Mironova, A., Avrunin, G.S., Clarke, L.A.: Using model checking with symbolic execution to verify parallel numerical programs. In: Pollock, L., Pezzé, M.(eds.). ISSTA 2006: Proceedings of the ACM SIGSOFT 2006 International Symposium on Software Testing and Analysis, Portland, ME, pp. 157–168 (2006)

    Google Scholar 

  12. Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI—The Complete Reference, Volume 1: The MPI Core. MIT Press, second edition (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Byron Cook Andreas Podelski

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Siegel, S.F. (2007). Model Checking Nonblocking MPI Programs. In: Cook, B., Podelski, A. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2007. Lecture Notes in Computer Science, vol 4349. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69738-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69738-1_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69735-0

  • Online ISBN: 978-3-540-69738-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics