Reachability under Contextual Locking
Remi Bonnet (LSV, ENS Cachan, CNRS), Rohit Chadha (University of, Missouri), Mahesh Viswanathan (University of Illinois), P. Madhusudan, (University of Illinois)

TL;DR
This paper introduces a new programming paradigm called contextual locking, where lock usage is tied to calling patterns, and proves that pairwise reachability is polynomial-time decidable under this paradigm, unlike in more general settings.
Contribution
The paper defines the concept of contextual locking and proves that pairwise reachability is polynomial-time decidable for this paradigm.
Findings
Pairwise reachability is decidable in polynomial time under contextual locking.
Reentrant locking leads to undecidability of the problem.
Contextual locking restricts lock usage to ensure decidability.
Abstract
The pairwise reachability problem for a multi-threaded program asks, given control locations in two threads, whether they can be simultaneously reached in an execution of the program. The problem is important for static analysis and is used to detect statements that are concurrently enabled. This problem is in general undecidable even when data is abstracted and when the threads (with recursion) synchronize only using a finite set of locks. Popular programming paradigms that limit the lock usage patterns have been identified under which the pairwise reachability problem becomes decidable. In this paper, we consider a new natural programming paradigm, called contextual locking, which ties the lock usage to calling patterns in each thread: we assume that locks are released in the same context that they were acquired and that every lock acquired by a thread in a procedure call is released…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
