当前位置:
X-MOL 学术
›
arXiv.cs.SE
›
论文详情
Our official English website, www.x-mol.net, welcomes your
feedback! (Note: you will need to create a separate account there.)
Bounded verification of message-passing concurrency in Go using Promela and Spin
arXiv - CS - Software Engineering Pub Date : 2020-04-03 , DOI: arxiv-2004.01323 Nicolas Dilley (University of Kent), Julien Lange (University of Kent)
arXiv - CS - Software Engineering Pub Date : 2020-04-03 , DOI: arxiv-2004.01323 Nicolas Dilley (University of Kent), Julien Lange (University of Kent)
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.
中文翻译:
使用 Promela 和 Spin 对 Go 中的消息传递并发进行有界验证
本文描述了Go编程语言的消息传递片段的静态验证框架。我们的框架提取了过度近似程序消息传递行为的模型。这些模型或行为类型在 Promela 中编码,因此可以使用 Spin 进行有效验证。我们通过验证包含在编译时未知的与通信相关的参数的程序来改进以前的工作,即产生参数化线程数或创建具有参数化容量的通道的程序。这些程序通过用户提供的有界验证方法进行检查。
更新日期:2020-04-06
中文翻译:
使用 Promela 和 Spin 对 Go 中的消息传递并发进行有界验证
本文描述了Go编程语言的消息传递片段的静态验证框架。我们的框架提取了过度近似程序消息传递行为的模型。这些模型或行为类型在 Promela 中编码,因此可以使用 Spin 进行有效验证。我们通过验证包含在编译时未知的与通信相关的参数的程序来改进以前的工作,即产生参数化线程数或创建具有参数化容量的通道的程序。这些程序通过用户提供的有界验证方法进行检查。