DocumentCode
378553
Title
Analyzing the CRF Java memory model
Author
Yang, Yue ; Gopalakrishnan, Ganesh ; Lindstrom, Gary
Author_Institution
Sch. of Comput., Utah Univ., Salt Lake City, UT, USA
fYear
2001
fDate
4-7 Dec. 2001
Firstpage
21
Lastpage
28
Abstract
The current Java memory model is flawed and has many unintended implications. As multithreaded programming becomes increasingly popular in Java and hardware memory architectures become more aggressively parallel, it is of significant importance to provide a framework for formally analyzing the Java memory model. The Murφ verification system is applied to study the commit/reconcile/fence (CRF) memory model, one of the proposed thread semantics to replace the present Java memory model. The CRF proposal is formally specified using the Murφ description language. A suite of test programs is designed to reveal pivotal properties of the model. The results demonstrate the feasibility of applying model checking techniques to language level memory model specifications. Not only can it help the designers to debug their designs, it also provides a formal mechanism for Java programmers to understand the subtleties of the Java memory model.
Keywords
Java; formal specification; formal verification; multi-threading; parallel memories; shared memory systems; CRF Java memory model; Murφ verification system; commit/reconcile/fence Java memory model; debugging; formal specification; hardware memory architectures; language level memory model specifications; model checking; multithreaded programming; thread semantics; Engines; Guidelines; Hardware; Java; Memory architecture; Parallel programming; Proposals; Read-write memory; Testing; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Conference, 2001. APSEC 2001. Eighth Asia-Pacific
ISSN
1530-1362
Print_ISBN
0-7695-1408-1
Type
conf
DOI
10.1109/APSEC.2001.991455
Filename
991455
Link To Document