Download Now Free registration required
Concurrent programs are well known for containing errors that are difficult to detect, reproduce, and diagnose. Deadlock is a common concurrency error, which occurs when a set of threads are blocked, due to each attempting to acquire a lock held by another. This paper presents a collection of highly scalable static and dynamic techniques for exposing potential deadlocks. The basis is a known algorithm, which, when locks are acquired in a nested fashion, captures the nesting order in a lock graph. A cycle in the graph indicates a deadlock potential. The authors propose three extensions to this basic algorithm to eliminate, or label as low severity, false warnings of possible deadlocks (false positives).
- Format: PDF
- Size: 2118.5 KB