Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1941553.1941603acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
poster

Automatic formal verification of MPI-based parallel programs

Published: 12 February 2011 Publication History

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.
[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.
[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.
[4]
J. C. King. Symbolic execution and program testing. Communications of the ACM, 19 (7): 385--394, 1976.
[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.
[6]
S. F. Siegel and G. S. Avrunin. Modeling wildcard-free MPI programs for verification. In PPoPP'05, pages 95--106. ACM, 2005.
[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.
[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.
[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.
[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.

Cited By

View all
  • (2018)PARCOACH Extension for a Full-Interprocedural Collectives Verification2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)10.1109/Correctness.2018.00013(69-76)Online publication date: Nov-2018
  • (2016)Runtime Correctness Analysis of MPI-3 Nonblocking CollectivesProceedings of the 23rd European MPI Users' Group Meeting10.1145/2966884.2966906(188-197)Online publication date: 25-Sep-2016
  • (2016)Implementing an Efficient Path Based Equivalence Checker for Parallel ProgramsProceedings of the ACM Workshop on Software Engineering Methods for Parallel and High Performance Applications10.1145/2916026.2916027(3-10)Online publication date: 31-May-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

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
  • 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

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 February 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. debugging
  2. message-passing
  3. mpi
  4. symbolic execution
  5. verification

Qualifiers

  • Poster

Conference

PPoPP '11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)2
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2018)PARCOACH Extension for a Full-Interprocedural Collectives Verification2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)10.1109/Correctness.2018.00013(69-76)Online publication date: Nov-2018
  • (2016)Runtime Correctness Analysis of MPI-3 Nonblocking CollectivesProceedings of the 23rd European MPI Users' Group Meeting10.1145/2966884.2966906(188-197)Online publication date: 25-Sep-2016
  • (2016)Implementing an Efficient Path Based Equivalence Checker for Parallel ProgramsProceedings of the ACM Workshop on Software Engineering Methods for Parallel and High Performance Applications10.1145/2916026.2916027(3-10)Online publication date: 31-May-2016
  • (2015)When truth is efficient: analysing concurrencyProceedings of the 2015 International Symposium on Software Testing and Analysis10.1145/2771783.2771790(141-152)Online publication date: 13-Jul-2015
  • (2015)PabbleService Oriented Computing and Applications10.1007/s11761-014-0172-89:3-4(269-284)Online publication date: 1-Sep-2015
  • (2014)MSLProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1109/SC.2014.31(311-322)Online publication date: 16-Nov-2014
  • (2013)Towards deductive verification of MPI programs against session typesElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.137.9137(103-113)Online publication date: 8-Dec-2013
  • (2013)Combining static and dynamic validation of MPI collective communicationsProceedings of the 20th European MPI Users' Group Meeting10.1145/2488551.2488555(117-122)Online publication date: 15-Sep-2013
  • (2013)Scaling data race detection for partitioned global address space programsProceedings of the 27th international ACM conference on International conference on supercomputing10.1145/2464996.2465000(47-58)Online publication date: 10-Jun-2013
  • (2013)Proving MCAPI executions are correct using SMTProceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2013.6693063(26-36)Online publication date: 11-Nov-2013
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media