|
ABSTRACT
The Java Memory Model (JMM) provides a semantics of Java multithreading for any implementation platform. The JMM is defined in a declarative fashion with an allowed program execution being defined in terms of existence of "commit sequences" (roughly, the order in which actions in the execution are committed). In this work, we develop OpMM, an operational under-approximation of the JMM. The immediate motivation of this work lies in integrating a formal specification of the JMM with software model checkers. We show how our operational memory model description can be integrated into a Java Path Finder (JPF) style model checker for Java programs.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
D. Bacon et al. The "double-checked locking is broken" declaration. http://www.cs.umd.edu/-pugh/java/memoryModel/DoubleCheckedLocking.html.
|
 |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
A. De, A. Roychoudhury, and D. D'Souza. Java memory model aware software validation. Technical report, 2008. http://arnabde03.googlepages.com/opmm-full.pdf.
|
| |
7
|
JSR-133 expert group. JSR-133: Java memory model and thread specification, August 2004.
|
| |
8
|
G. Gopalakrishnan, Y. Yang, and G. Lindstrom. QB or not QB: An efficient execution verification tool for memory orderings. In CAV, 2004.
|
| |
9
|
|
| |
10
|
T. Q. Huynh and A. Roychoudhury. A memory model sensitive checker for C#. In Formal Methods Symposium (FM), 2006.
|
| |
11
|
|
 |
12
|
Jeremy Manson , William Pugh , Sarita V. Adve, The Java memory model, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.378-391, January 12-14, 2005, Long Beach, California, USA
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
|