Logo do repositório
 
A carregar...
Miniatura
Publicação

Protocol-based verification of MPI programs

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
2014_tr_05.pdf1.78 MBAdobe PDF Ver/Abrir
tr_2015_02.pdf1.78 MBAdobe PDF Ver/Abrir

Orientador(es)

Resumo(s)

We present a methodology for the verification of Message Passing Interface (MPI) programs written in C. The aim is to statically verify programs against protocol specifications, enforcing properties such as fidelity and absence of deadlocks. We make use of a protocol language based on a dependent type system for message-passing parallel programs. % 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 the~C programming language. % The program is then annotated with specific assertions that, together with a pre-established set of contracts for MPI primitives, guide the verifier to either prove or disprove the program's conformance to the protocol. We successfully verified MPI programs in a running time that is independent of the number of processes or other input parameters. This contrasts with other techniques, notably model checking and symbolic execution, that suffer from the state-explosion problem. We experimentally evaluated our approach against TASS, a state-of-the-art tool for MPI program verification.

Descrição

Palavras-chave

protocol parallel programs verification MPI

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

Fascículo

Editora

Licença CC