...
| Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| CodeSonar |
| CONCURRENCY.LOCK.ORDER | Conflicting lock order | ||||||
| Klocwork |
| CONC.DL | |||||||
| Polyspace Bug Finder | R2016a | Deadlock | Call sequence to lock functions cause two tasks to block each other |
Related Guidelines
Key here (explains table format and definitions)
Taxonomy | Taxonomy item | Relationship |
|---|---|---|
| CERT CSEI CERT Oracle Coding Standard for Java | LCK07-J. Avoid deadlock by requesting and releasing locks in the same orderMITRE CWE | Prior to 2018-01-12: CERT: Unspecified Relationship |
CERT-CWE Mapping Notes
Key here for mapping notes
CWE-764 and POS51-C/POS35-C
Independent( CWE-764, POS51-C, POS35-C)
CWE-764
...
is about semaphores, or objects capable of being locked multiple times. Deadlock arises from multiple locks being acquired in a cyclic order, and generally does not arise from semaphores or recursive mutexes.
Bibliography
| [Barney 2010] | pthread_mutex tutorial |
| [Bryant 2003] | Chapter 13, "Concurrent Programming" |
...