skip to main content
poster

Automatic formal verification of MPI-based parallel programs

Published:12 February 2011Publication History
Skip Abstract Section

Abstract

The Toolkit for Accurate Scientific Software (TASS) is a suite of tools for the formal verification of MPI-based parallel programs used in computational science. TASS can verify various safety properties as well as compare two programs for functional equivalence. The TASS front end takes an integer n ≥ 1 and a C/MPI program, and constructs an abstract model of the program with n processes. Procedures, structs, (multi-dimensional) arrays, heap-allocated data, pointers, and pointer arithmetic are all representable in a TASS model. The model is then explored using symbolic execution and explicit state space enumeration. A number of techniques are used to reduce the time and memory consumed. A variety of realistic MPI programs have been verified with TASS, including Jacobi iteration and manager-worker type programs, and some subtle defects have been discovered. TASS is written in Java and is available from http://vsl.cis.udel.edu/tass under the Gnu Public License.

References

  1. C. Barrett and C. Tinelli. CVC3. In W. Damm and H. Hermanns, editors, CAV 2007, volume 4590 of LNCS, pages 298--302. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Cadar, D. Dunbar, and D. Engler. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. Proc. 8th USENIX Symposium on Operating Systems Design and Implementation, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Khurshid, C. S. Pǎsǎreanu, and W. Visser. Generalized symbolic execution for model checking and testing. In H. Garavel and J. Hatcliff, editors, TACAS 2003, volume 2619 of LNCS, pages 553--568. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. C. King. Symbolic execution and program testing. Communications of the ACM, 19 (7): 385--394, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. F. Siegel. Efficient verification of halting properties for MPI programs with wildcard receives. In R. Cousot, editor, VMCAI 2005, volume 3385 of LNCS, pages 413--429. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. F. Siegel and G. S. Avrunin. Modeling wildcard-free MPI programs for verification. In PPoPP'05, pages 95--106. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. F. Siegel and G. S. Avrunin. Verification of halting properties for MPI programs using nonblocking operations. In F. Cappello, T. Hérault, and J. Dongarra, editors, Euro PVM/MPI 2007, volume 4757 of LNCS, pages 326--334. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. F. Siegel and T. K. Zirkel. Collective assertions. In R. Jhala and D. Schmidt, editors, VMCAI 2011, volume 6538 of LNCS, pages 387--402. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. F. Siegel, A. Mironova, G. S. Avrunin, and L. A. Clarke. Combining symbolic execution with model checking to verify parallel numerical programs. ACM TOSEM, 17 (2): Article 10, 1--34, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Vo, S. Vakkalanka, M. DeLisi, G. Gopalakrishnan, R. M. Kirby, and R. Thakur. Formal verification of practical MPI programs. In PPoPP 2009, pages 261--270. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automatic formal verification of MPI-based parallel programs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 46, Issue 8
        PPoPP '11
        August 2011
        300 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2038037
        Issue’s Table of Contents
        • cover image ACM Conferences
          PPoPP '11: Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
          February 2011
          326 pages
          ISBN:9781450301190
          DOI:10.1145/1941553
          • General Chair:
          • Calin Cascaval,
          • Program Chair:
          • Pen-Chung Yew

        Copyright © 2011 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 12 February 2011

        Check for updates

        Qualifiers

        • poster

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!