Barriers in Concurrent Separation Logic: Now With Tool Support!

Aquinas Hobor, Cristian Gherghina, Frank Piessens
2012 Logical Methods in Computer Science  
We develop and prove sound a concurrent separation logic for Pthreads-style barriers. Although Pthreads barriers are widely used in systems, and separation logic is widely used for verification, there has not been any effort to combine the two. Unlike locks and critical sections, Pthreads barriers enable simultaneous resource redistribution between multiple threads and are inherently stateful, leading to significant complications in the design of the logic and its soundness proof. We show how
more » ... r logic can be applied to a specific example program in a modular way. Our proofs are machine-checked in Coq. We showcase a program verification toolset that automatically applies the logic rules and discharges the associated proof obligations.
doi:10.2168/lmcs-8(2:2)2012 fatcat:q4jx7tr35fdjtl7fekt67slak4