Publication Type |
technical report |
School or College |
College of Engineering |
Department |
Computing, School of |
Program |
Advanced Research Projects Agency |
Creator |
Yang, Yue; Gopalakrishnan, Ganesh; Lindstrom, Gary E. |
Title |
Formalizing the Java Memory Model for multithreaded program correctness and optimization |
Date |
2002-04-02 |
Description |
Standardized language level support for threads is one of the most important features of Java. However, defining and understanding the Java Memory Model (JMM) has turned out to be a big challenge. Several models produced to date are not as easily comparable as first thought. Given the growing interest in multi- threaded Java programming, it is essential to have a sound framework that would allow formal specification and reasoning about the JMM. This paper presents the Uniform Memory Model (UMM), a formal memory model specification frame- work. With a flexible architecture, it can be easily configured to capture different shared memory semantics including both architectural and language level memory models. Based on guarded commands, UMM is integrated with a model checking utility, providing strong built-in support for formal verification and pro- gram analysis. A formal specification of the JMM following the semantics proposed by Manson and Pugh is presented in UMM. Systematic analysis has revealed interesting properties of the proposed semantics. In addition, several mistakes from the original specification have been uncovered. |
Type |
Text |
Publisher |
University of Utah |
Subject |
Java Memory Model; JMM; Multithreaded program |
Subject LCSH |
Java (Computer program language) |
Language |
eng |
Bibliographic Citation |
Yang, Yue; Gopalakrishnan, Ganesh; Lindstrom, Gary E. (2002). Formalizing the Java memory model for multithreaded program correctness and optimization. UUCS-02-011. |
Series |
University of Utah Computer Science Technical Report |
Relation is Part of |
ARPANET |
Rights Management |
©University of Utah |
Format Medium |
application/pdf |
Format Extent |
300,033 bytes |
Source |
University of Utah School of Computing |
ARK |
ark:/87278/s6zp4qgk |
Setname |
ir_uspace |
ID |
704432 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s6zp4qgk |