On the Completeness of Verifying Message Passing Programs under Bounded Asynchrony

04/18/2018
by   Ahmed Bouajjani, et al.
0

We address the problem of verifying message passing programs, defined as a set of parallel processes communicating through unbounded FIFO buffers. We introduce a bounded analysis that explores a special type of computations, called k-synchronous. These computations can be viewed as (unbounded) sequences of interaction phases, each phase allowing at most k send actions (by different processes), followed by a sequence of receives corresponding to sends in the same phase. We give a procedure for deciding k-synchronizability of a program, i.e., whether every computation is equivalent (has the same happens-before relation) to one of its k-synchronous computations. We also show that reachability over k-synchronous computations and checking k-synchronizability are both PSPACE-complete. Furthermore, we introduce a class of programs called flow-bounded for which the problem of deciding whether there exists a k>0 for which the program is k-synchronizable, is decidable.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/03/2020

Bounded verification of message-passing concurrency in Go using Promela and Spin

This paper describes a static verification framework for the message-pas...
research
09/04/2019

On the k-synchronizability for mailbox systems

Asynchronous bounded or unbounded message passing is ubiquitous in commu...
research
08/21/2023

Weakly synchronous systems with three machines are Turing powerful

Communicating finite-state machines (CFMs) are a Turing powerful model o...
research
08/09/2017

Safety Verification of Phaser Programs

We address the problem of statically checking control state reachability...
research
11/24/2022

Impure Simplicial Complexes: Complete Axiomatization

Combinatorial topology is used in distributed computing to model concurr...
research
07/10/2018

Two-Phase Dynamic Analysis of Message-Passing Go Programs based on Vector Clocks

Understanding the run-time behavior of concurrent programs is a challeng...
research
09/18/2023

Completeness Thresholds for Memory Safety: Unbounded Guarantees via Bounded Proofs (Extended Abstract)

Bounded proofs are convenient to use due to the high degree of automatio...

Please sign up or login with your details

Forgot password? Click here to reset