...
The Coverity Prevent Version 5.0 ATOMICITY checker can detect the instances of non-atomic update of a concurrently shared value. The result of the update will be determined by the interleaving of thread execution. The GUARDED_BY_VIOLATION checker can detect the instances where thread shared data is accessed without holding an appropriate lock, possibly causing a race condition.
Related
...
Any vulnerabilities resulting from the violation of this rule are listed on the CERT website.
Related Guidelines
CWE ID 667, "Improper Locking" | |
| CWE ID 413, "Improper Resource Locking" |
| CWE ID 366, "Race Condition within a Thread" |
| CWE ID 567, "Unsynchronized Access to Shared Data in a Multithreaded Context" |
Bibliography
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="828a7d7be47b7905-32bdf734-433949a2-9002a79f-e3fc8e2d424ad8685a1bbc2b"><ac:plain-text-body><![CDATA[ | [[API 2006 | AA. Bibliography#API 06]] | Class AtomicInteger | ]]></ac:plain-text-body></ac:structured-macro> | |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="4e38cb1e34b98326-120303d7-49774e4c-bb9d9064-3bfba16e69d0d47a5de5985f"><ac:plain-text-body><![CDATA[ | [[Bloch 2008 | AA. Bibliography#Bloch 08]] | Item 66: Synchronize access to shared mutable data | ]]></ac:plain-text-body></ac:structured-macro> | |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ef3e16ac007b7917-a687a728-4a3f4287-a9a0befa-3c9b5db97cd004917e000535"><ac:plain-text-body><![CDATA[ | [[Goetz 2006 | AA. Bibliography#Goetz 06]] | 2.3. "Locking" | ]]></ac:plain-text-body></ac:structured-macro> | |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="5d53eaf8c7d660b9-ee551ce9-42e04d0b-ba91a142-c5751e1a3113bdf2c663bacc"><ac:plain-text-body><![CDATA[ | [[JLS 2005 | AA. Bibliography#JLS 05]] | [Chapter 17 Threads and Locks | http://java.sun.com/docs/books/jls/third_edition/html/memory.html], ]]></ac:plain-text-body></ac:structured-macro> | |
| Section 17.4.5 Happens-Before Order | ||||
| Section 17.4.3 Programs and Program Order | ||||
| Section 17.4.8 Executions and Causality Requirements | ||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="af6774d873a950b7-dcf8321f-420f4eed-88a9959c-612a9c75ead508678a331c11"><ac:plain-text-body><![CDATA[ | [[Lea 2000 | AA. Bibliography#Lea 00]] | Section 2.2.7 The Java Memory Model | ]]></ac:plain-text-body></ac:structured-macro> | |
| Section 2.1.1.1 Objects and Locks | ||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="b9bc1b497453eb1c-2488e389-47814b90-abd6bcbe-9f6b79a26d96dcee00cd82ff"><ac:plain-text-body><![CDATA[ | [[Tutorials 2008 | AA. Bibliography#Tutorials 08]] | [Java Concurrency Tutorial | http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html] | ]]></ac:plain-text-body></ac:structured-macro> |
...