Detail

Publication date: 1 de June, 2021

Protocol-based Verification of Message-passing Parallel Programs

We present ParTypes, a type-based methodology for the verification of Message Passing Interface (MPI) programs written in the C programming language.
The aim is to statically verify programs against protocol specifications, enforcing properties such as fidelity and absence of deadlocks. We develop a protocol language based on a dependent type system for message-passing parallel programs, which includes various communication operators, such as point-to-point messages, broadcast, reduce, array scatter and gather. For the verification of a program against a given protocol, the protocol is first translated into a representation read by VCC, a software verifier for C.
We successfully verified several MPI programs in a running time that is independent of the number of processes or other input parameters. This contrasts with alternative techniques, notably model checking and runtime verification, that suffer from the state-explosion problem or that otherwise depend on parameters to the program itself. We experimentally evaluated our approach against state-of-the-art tools for MPI to conclude that our approach offers a scalable solution.

Presenter

Francisco Martins,

Date 14/10/2015
State Concluded
Host Bio Francisco Martins is an Assistant Professor at the Department of Informatics, Faculty of Sciences, University of Lisbon. Until September 2006 he was Assistant Professor at the Department of Mathematics, University of Azores where he began teaching (as teaching assistant) in October 1997. Francisco received his Ph.D. in Computer Science at University of Lisbon (Faculty of Sciences) in 2006.