Compositional Reasoning for Shared-variable Concurrent Programs
Abstract
Scalable and automatic formal verification for concurrent systems is always demanding. In this paper, we propose a verification framework to support automated compositional reasoning for concurrent programs with shared variables. Our framework models concurrent programs as succinct automata and supports the verification of multiple important properties. Safety verification and simulations of succinct automata are parallel compositional, and safety properties of succinct automata are preserved under refinements. We generate succinct automata from infinite state concurrent programs in an automated manner. Furthermore, we propose the first automated approach to checking rely-guarantee based simulations between infinite state concurrent programs. We have prototyped our algorithms and applied our tool to the verification of multiple refinements.
- Publication:
-
arXiv e-prints
- Pub Date:
- November 2016
- DOI:
- 10.48550/arXiv.1611.00574
- arXiv:
- arXiv:1611.00574
- Bibcode:
- 2016arXiv161100574Z
- Keywords:
-
- Computer Science - Formal Languages and Automata Theory;
- Computer Science - Logic in Computer Science;
- Computer Science - Software Engineering