Recursive Mutexes in Separation Logic

📅 2026-01-30
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the challenge of formally verifying recursive mutex locks in object-oriented languages by proposing a unified separation logic specification framework. The approach supports reentrant lock acquisition—allowing the same thread to acquire a lock multiple times—and seamlessly integrates with both invariant-based protection and atomic state transition paradigms, the two dominant styles in concurrent program verification. For the first time, recursive mutexes are fully incorporated into the separation logic framework, yielding a semantic model that is both concise and consistent. Moreover, the proposed specification is compatible with existing lock reasoning mechanisms and can be directly integrated into verification tools for mainstream languages such as C++ and Java, thereby significantly enhancing the expressiveness and practicality of concurrent program verification.

Technology Category

Application Category

📝 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.
Problem

Research questions and friction points this paper is trying to address.

recursive mutexes
separation logic
lock specification
concurrent programming
invariant protection
Innovation

Methods, ideas, or system contributions that make the work stand out.

recursive mutexes
separation logic
lock invariants
formal verification
concurrent programming
🔎 Similar Papers
No similar papers found.