The Java memory model
By Jeremy Manson. ACM-SIGACT Symposium on Principles of Programming Languages, 2005
818 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Computer Networks and Communications, Hardware and Architecture
View Paper: https://www.semanticscholar.org/paper/0b4cd037925fe2185cbf38b4ccb76f32bbd87d53
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- A. Aiken
- Cormac Flanagan
- Stephen N. Freund
- Mayur Naik
- John Whaley
- Peter Sewell
- Brandon Lucia
- T. Harris
In Computer Networks and Communications
In Hardware and Architecture
Citations in the corpus
- A simpler, safer programming and execution model for intermittent systems (2015, background): “In general, data races can produce unintuitive results [1, 21], and which races are problematic depends on the system’s memory model.”
- x86-TSO (2010, background): “The Java Memory Model24 attempts to ensure that data-race free (DRF) programs are sequentially consistent; all programs satisfy memory safety/security properties; and common compiler optimizations are sound.”
- Atomizer: a dynamic atomicity checker for multithreaded programs (2004, background): “Some such race conditions may not be benign under Java’s relaxed memory model [ 22 ].”
- Effective static race detection for Java (2006, background): “The problem is exacerbated by the subtleties of the Java memory model [34].”
- Atlas (2014, methodology): “Instead of tracking write-read dependency at the memory access level, we use an ordering on entire FASEs induced by the happens-before relation hb [10, 23] to capture the durability constraints.”
- Mathematizing C++ concurrency (2011, background): “In the Java Memory Model [MPA05], much of the complexity of the model arises from the desire to outlaw thin-air reads, which there is essential to prevent forging of pointers.”
- FastTrack: efficient and precise dynamic race detection (2009, neutral): “The Java Memory Model [22] guarantees that a write to a volatile variable vx ∈ VolatileVar happens before every subsequent read of vx .”
- Transactional Memory, 2nd edition (2010, methodology): “This would be guaranteed by the Java memory model [207].”