Deductively Verifying Functional Scalable Parallel Programs with Why3
Résumé
Bulk Synchronous Parallelism (BSP) is a simple, yet realistic, model of scalable parallel computing. BSML is a pure functional library for the multi-paradigm language OCaml that embodies the principles of BSP. We propose a formalization of BSML primitives with WhyML, the specification language of Why3 and specify and prove the correctness of a set of parallel functions forming a standard library. We develop and verify the correctness of small BSML applications based on transformation theorems and the correspondence of a set of sequential functions on lists with algorithmic skeletons, i.e. functions implemented in parallel and manipulating distributed lists. Leveraging the Why3 feature generating OCaml code from WhyML code, we experiment these applications on parallel machines.
| Origine | Fichiers produits par l'(les) auteur(s) |
|---|---|
| Licence |