Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

MITRE CWE

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>

...