Abstract
A commonly used approach to develop parallel programs is to augment a sequential program with compiler directives that indicate which program blocks may potentially be executed in parallel. This paper develops a verification technique to prove correctness of compiler directives combined with functional correctness of the program. We propose syntax and semantics for a simple core language, capturing the main forms of deterministic parallel programs. This language distinguishes three kinds of basic blocks: parallel, vectorized and sequential blocks, which can be composed using three different composition operators: sequential, parallel and fusion composition. We show that it is sufficient to have contracts for the basic blocks to prove correctness of the compiler directives, and moreover that functional correctness of the sequential program implies correctness of the parallelized program. We formally prove correctness of our approach. In addition, we define a widely-used subset of OpenMP that can be encoded into our core language, thus effectively enabling the verification of OpenMP compiler directives, and we discuss automated tool support for this verification process.
Original language | English |
---|---|
Title of host publication | NASA Formal Methods |
Subtitle of host publication | 9th International Symposium, NFM 2017, Moffett Field, CA, USA, May 16-18, 2017, Proceedings |
Editors | Clark Barrett, Misty Davies, Temesghen Kahsai |
Pages | 247-264 |
Number of pages | 18 |
ISBN (Electronic) | 978-3-319-57288-8 |
DOIs | |
Publication status | Published - 2017 |
Event | 9th NASA Formal Methods Symposium 2017 - NASA Ames Research Center, Moffett Field, United States Duration: 16 May 2017 → 18 May 2017 Conference number: 9 https://ti.arc.nasa.gov/events/nfm-2017/ |
Publication series
Name | Lecture Notes in Computer Science |
---|---|
Volume | 10227 |
Conference
Conference | 9th NASA Formal Methods Symposium 2017 |
---|---|
Abbreviated title | NFM 2017 |
Country/Territory | United States |
City | Moffett Field |
Period | 16/05/17 → 18/05/17 |
Internet address |