Proceedings of the 26th European Symposium on Programming (ESOP’17), pp. 420–447
- Thomas Dinsdale-Young
- Pedro da Rocha Pinto
- Kristoffer Just Andersen
- Lars Birkedal
Recent program logics based on separation logic emphasise a modular approach to proving functional correctness for fine-grained concurrent programs. However, these logics have no automation support. In this paper, we present Caper, a prototype tool for automated reasoning in such a logic. Caper is based on symbolic execution, integrating reasoning about interference on shared data and about ghost resources that are used to mediate this interference. This enables Caper to verify the functional correctness of fine-grained concurrent algorithms.