[jmm-dev] ECOOP, JVMLS

Doug Lea dl at cs.oswego.edu
Sun Jul 20 11:21:14 UTC 2014

On 07/19/2014 08:24 PM, Peter Sewell wrote:
> On Jul 19, 2014 8:59 PM, "Doug Lea" <dl at cs.oswego.edu <mailto:dl at cs.oswego.edu>>
> wrote:
>  > Also, in think-out-loud-mode: The most general form of OOTA
>  > Query seems to be: Can a given value be returned by a given
>  > read when the given program is run in any execution under an
>  > arbitrarily unconstrained (weak) memory model? This might
>  > be easier to characterize than some alternatives.
> Easy to characterise, but it'd include executions with totally crazy
> control-flow-path choices and utterly broken internal invariants - so not much
> help for reasoning...

Perhaps not *much* help, but this extremely coarse approximation
would sometimes rule out some OOTA-ish phenomena. As in:

Q: Can my racy code print 42?
A1: Yes, here's why....
A2: No, because even under the most unconstrained model, it cannot.
A3: Sorry, dunno. You probably want to change your code.

Development and analysis tools hit cases like A3 all the time,
although not usually because of spec limitations.


More information about the jmm-dev mailing list