...
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="0fcef0357e8b3f50-8d57c183-4a714134-89928f52-608c70f3bd1cfb223130ddaa"><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="165d12e9f1fa9a0b-911a28c8-4f674217-86948f2f-59a708ea08b7fa236654efe5"><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="f0782b0b40f8e177-5c193049-45ae4cfb-84c08734-fe83dc9d0548365ebdf23641"><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="697b7c8beeb4afde-8351ceef-49874af7-821182b2-831a607c6f9b2ff576a9e626"><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="dcf7d19ec2a94245-6f99b449-45e0405a-985a9de8-bdd6981a64807868a0f96cee"><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="bfcf6ff6024fcb53-4003649d-42d84f4c-8e6ab1e6-d86d3993ef14f002bceb36ee"><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> |
...