Re: JavaMemoryModel: A memory model for the masses

From: Bill Pugh (pugh@cs.umd.edu)
Date: Mon Nov 08 1999 - 14:33:53 EST


> 2. Analysis tools are useful, but almost all QA these days is
> test-driven. If a program passes tests on platforms people have
> around, they declare success, regardless of whether the spec says
> that the program would not work under the officially sanctioned
> memory model. Unless every JDK came with a special testing VM that
> simulated the weakest possible behavior in accord with the model,
> many people would not pay enough attention to counterintuitive,
> performance-limiting rules.
>
> (A corollary of sorts is that many people have learned to
> program to the current implementations of Java/JDK features,
> not to their specifications. This is of course a bad thing,
> but is a basic survival skill for people who have to ship
> products on schedule.)

The Eraser tool developed by Stephen Savage et al.
        http://www.cs.washington.edu/homes/savage/
is nice in that it doesn't require that the data race actually occur
during a test run. Rather, it simply checks that for each variable
accessed by more than one thread, there is some unique monitor that
is held whenever the variable is accessed.

-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel



This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:21 EDT