Starling: Lightweight Concurrency Verification with Views
Starling: Lightweight Concurrency Verification with Views
复制标题
Starling:带视图的轻量级并发验证
DOI:
10.1007/978-3-319-63387-9_27
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
Matthew J. Parkinson
中科院分区:
文献类型:
--
作者:
Matt Windsor;Mike Dodds;Ben Simner;Matthew J. Parkinson
Modern program logics have made it feasible to verify the most complex concurrent algorithms. However, many such logics are complex, and most lack automated tool support. We propose Starling, a new lightweight logic and automated tool for concurrency verification. Starling takes a proof outline written in an abstracted Hoare-logic style, and converts it into proof terms that can be discharged by a sequential solver. Starling’s approach is generic in its structure, making it easy to target different solvers. In this paper we verify shared-variable algorithms using the Z3 SMT solver, and heap-based algorithms using the GRASShopper solver. We have applied our approach to a range of concurrent algorithms, including Rust’s atomic reference counter, the Linux ticketed lock, the CLH queue-lock, and a fine-grained list algorithm.