Compositional Verification in Concurrent Separation Logic with Permissions Regions
By: Quang Loc Le
Potential Business Impact:
Helps check computer programs for mistakes faster.
Concurrent separation logic with fractional permissions (CSLPerm) provides a promising reasoning system to verify most complex sequential and concurrent fine-grained programs. The logic with strong and weak separating conjunctions offers a solid foundation for producing concise and precise proofs. However, it lacks automation and compositionality support. This paper addresses this limitation by introducing a compositional verification system for concurrent programs that manipulate regions of shared memory. The centre of our system is novel logical principles and an entailment procedure that can infer the residual heaps in the frame rule for a fragment of CSL-Perm with explicit arithmetical constraints for memory heaps' disjointness. This procedure enables the compositional reasoning for concurrent threads and function calls. We have implemented the proposal in a prototype tool called CoSl, tested it with 10 challenging concurrent programs, including those beyond the state-of-the-art, and confirmed the advantage of our approach.
Similar Papers
RapunSL: Untangling Quantum Computing with Separation, Linear Combination and Mixing
Programming Languages
Makes quantum computers easier to understand.
RapunSL: Untangling Quantum Computing with Separation, Linear Combination and Mixing
Programming Languages
Makes quantum computers easier to understand.
Separating the Wheat from the Chaff: Understanding (In-)Completeness of Proof Mechanisms for Separation Logic with Inductive Definitions
Logic in Computer Science
Finds bugs in computer programs automatically.