arrow
Return

Deductively verifying functional scalable parallel programs with Why3

delete2026-02-01
delete0
PRE
AI
F
Frédéric Loulergue *
O
Olivia Proust
DOI:10.1007/s10270-025-01340-ydelete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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.
Keywords:
Software engineering
Formal methods
Scalable parallel computing
Functional programming
Deductive verification
Why3

Journal

S
Software and Systems Modeling
IF:
3.2
Papers:
61
Citations:
1.9K

Organization

U
universite de orleans
Scholars:
3.6K
Papers: 2.7K
Citations: 1
Cited Papers

Cited Papers

errShare
errSave
Parallel Scientific Computation
err
IF0
err2020-10-22
err0
PREAI
errRob H. Bisseling
errShare
errSave
Using Coq in Specification and Program Extraction of Hadoop MapReduce Applications
err2011-01-01
err0
PREAI
errKosuke Ono; Yoichi Hirai; Yoshinori Tanabe; Natsuko Noda; Masami Hagiya
errShare
errSave
A calculus of functional BSP programs
err2000-05-01
err0
errOAAI
errFrédéric Loulergue; Gaétan Hains; Christian Foisy
errShare
errSave
GOSPEL—Providing OCaml with a Formal Specification Language
err2019-01-01
err0
PREAI
errCharguéraud,Arthur; Filliâtre,Jean-Christophe; Lourenço,Cláudio; Pereira,Mário
errShare
errSave
researcher View more