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

04/03/2020
by   Nicolas Dilley, et al.
0

This paper describes a static verification framework for the message-passing fragment of the Go programming language. Our framework extracts models that over-approximate the message-passing behaviour of a program. These models, or behavioural types, are encoded in Promela, hence can be efficiently verified with Spin. We improve on previous works by verifying programs that include communication-related parameters that are unknown at compile-time, i.e., programs that spawn a parameterised number of threads or that create channels with a parameterised capacity. These programs are checked via a bounded verification approach with bounds provided by the user.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/23/2021

kmclib: Automated Inference and Verification of Session Types

Theories and tools based on multiparty session types offer correctness g...
research
04/18/2018

On the Completeness of Verifying Message Passing Programs under Bounded Asynchrony

We address the problem of verifying message passing programs, defined as...
research
04/13/2023

Communicating Actor Automata – Modelling Erlang Processes as Communicating Machines

Brand and Zafiropulo's notion of Communicating Finite-State Machines (CF...
research
06/26/2019

A Computational Framework for Adaptive Systems and its Verification

Modern computer systems are inherently distributed and feature autonomou...
research
09/05/2017

Trace-Based Run-time Analysis of Message-Passing Go Programs

We consider the task of analyzing message-passing programs by observing ...
research
10/06/2022

Computing Race Variants in Message-Passing Concurrent Programming with Selective Receives

Message-passing concurrency is a popular computation model that underlie...
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...

Please sign up or login with your details

Forgot password? Click here to reset