Protocol-based verification of MPI programs
Autor(a) principal: | |
---|---|
Data de Publicação: | 2014 |
Outros Autores: | , , , , |
Tipo de documento: | Relatório |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10451/14267 |
Resumo: | 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. |
id |
RCAP_44188db95b961237127495ec39faa259 |
---|---|
oai_identifier_str |
oai:repositorio.ul.pt:10451/14267 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Protocol-based verification of MPI programsprotocolparallel programsverificationMPIWe 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.Repositório da Universidade de LisboaMarques, Eduardo R. B.Martins, FranciscoVasconcelos, Vasco T.Santos, CésarNg, NicholasYoshida, Nobuko2014-10-23T15:51:08Z2014-10-23T15:51:08Z2014-10-23info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/reportapplication/pdfapplication/pdfhttp://hdl.handle.net/10451/14267enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T15:59:58Zoai:repositorio.ul.pt:10451/14267Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:36:04.960054Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Protocol-based verification of MPI programs |
title |
Protocol-based verification of MPI programs |
spellingShingle |
Protocol-based verification of MPI programs Marques, Eduardo R. B. protocol parallel programs verification MPI |
title_short |
Protocol-based verification of MPI programs |
title_full |
Protocol-based verification of MPI programs |
title_fullStr |
Protocol-based verification of MPI programs |
title_full_unstemmed |
Protocol-based verification of MPI programs |
title_sort |
Protocol-based verification of MPI programs |
author |
Marques, Eduardo R. B. |
author_facet |
Marques, Eduardo R. B. Martins, Francisco Vasconcelos, Vasco T. Santos, César Ng, Nicholas Yoshida, Nobuko |
author_role |
author |
author2 |
Martins, Francisco Vasconcelos, Vasco T. Santos, César Ng, Nicholas Yoshida, Nobuko |
author2_role |
author author author author author |
dc.contributor.none.fl_str_mv |
Repositório da Universidade de Lisboa |
dc.contributor.author.fl_str_mv |
Marques, Eduardo R. B. Martins, Francisco Vasconcelos, Vasco T. Santos, César Ng, Nicholas Yoshida, Nobuko |
dc.subject.por.fl_str_mv |
protocol parallel programs verification MPI |
topic |
protocol parallel programs verification MPI |
description |
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. |
publishDate |
2014 |
dc.date.none.fl_str_mv |
2014-10-23T15:51:08Z 2014-10-23T15:51:08Z 2014-10-23 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/report |
format |
report |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10451/14267 |
url |
http://hdl.handle.net/10451/14267 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799134259399622656 |