Home > Publications
Home University of Twente
Prospective Students
Intranet (internal)

EEMCS EPrints Service

27672 Future-based Static Analysis of Message Passing Programs
Home Policy Brochure Browse Search User Area Contact Help

Oortwijn, W.H.M. and Blom, S.C.C. and Huisman, M. (2016) Future-based Static Analysis of Message Passing Programs. In: Proceedings of the Ninth Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software, PLACES 2016, 8 April 2016, Eindhoven, The Netherlands. pp. 65-72. Electronic Notes in Theoretical Computer Science 211. Open Publishing Association. ISSN 2075-2180

Full text available as:


187 Kb
Open Access

Official URL:


Message passing is widely used in industry to develop programs consisting of several distributed communicating components. Developing functionally correct message passing software is very challenging due to the concurrent nature of message exchanges. Nonetheless, many safety-critical applications rely on the message passing paradigm, including air traffic control systems and emergency services, which makes proving their correctness crucial. We focus on the modular verification of MPI programs by statically verifying concrete Java code. We use separation logic to reason about local correctness and define abstractions of the communication protocol in the process algebra used by mCRL2. We call these abstractions futures as they predict how components will interact during program execution. We establish a provable link between futures and program code and analyse the abstract futures via model checking to prove global correctness. Finally, we verify a leader election protocol to demonstrate our approach.

Item Type:Conference or Workshop Paper (Full Paper, Talk)
Research Group:EWI-FMT: Formal Methods and Tools
Research Program:CTIT-General
Research Project:VERDI: Verification Of Distributed Software
ID Code:27672
Deposited On:15 March 2017
More Information:statistics

Export this item as:

To correct this item please ask your editor

Repository Staff Only: edit this item