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
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;
Conference_Titel :
Software Engineering Conference, 2001. APSEC 2001. Eighth Asia-Pacific
Print_ISBN :
0-7695-1408-1
DOI :
10.1109/APSEC.2001.991455