Implementing efficient dynamic formal verification methods for MPI programs

14Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We examine the problem of formally verifying MPI programs for safety properties through an efficient dynamic (runtime) method in which the processes of a given MPI program are executed under the control of an interleaving scheduler. To ensure full coverage for given input test data, the algorithm must take into consideration MPI's out-of-order completion semantics. The algorithm must also ensure that nondeterministic constructs (e.g., MPI wildcard receive matches) are executed in all possible ways. Our new algorithm rewrites wildcard receives to specific receives, one for each sender that can potentially match with the receive. It then recursively explores each case of the specific receives. The list of potential senders matching a receive is determined through a runtime algorithm that exploits MPI's operation ordering semantics. Our verification tool ISP that incorporates this algorithm efficiently verifies several programs and finds bugs missed by existing informal verification tools. © 2008 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Vakkalanka, S., Delisi, M., Gopalakrishnan, G., Kirby, R. M., Thakur, R., & Gropp, W. (2008). Implementing efficient dynamic formal verification methods for MPI programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5205 LNCS, pp. 248–256). https://doi.org/10.1007/978-3-540-87475-1_34

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free