Recursive Mutexes in Separation Logic
Abstract
Mutexes (i.e., locks) are well understood in separation logic, and can be specified in terms of either protecting an invariant or atomically changing the state of the lock. In this abstract, we develop the same styles of specifications for \emph{recursive} mutexes, a common variant of mutexes in object-oriented languages such as C++ and Java. A recursive mutex can be acquired any number of times by the same thread, and our specifications treat all acquires/releases uniformly, with clients only needing to determine whether they hold the mutex when accessing the lock invariant.
Fields of Study & Subjects
Logic
programming
and type systems
Formal Methods in Verification
Software Testing and Debugging Techniques
Publication details
- Journal / source
- arXiv (Cornell University)
- Publication date
- 30 January 2026
- Document type
- Preprint