Making the Java Memory Model Safe∗
Andreas Lochbihler
Institute for Information Security ETH Zurich
∗supported by DFG Sn11/10-1,2
The need for a formal model of Java Safety guarantees of Java - - PowerPoint PPT Presentation
Making the Java Memory Model Safe Andreas Lochbihler Institute for Information Security ETH Zurich supported by DFG Sn11/10-1,2 The need for a formal model of Java Safety guarantees of Java definedness type safety security
∗supported by DFG Sn11/10-1,2
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 2 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 2 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 2 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 2 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 4 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 5 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 5 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 5 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 5 / 9
t
1
: α
1
t
′ 1
: α
′ 1
. . . . . . . . .
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 5 / 9
1 : α′ 1, t′ 2 : α′ 2, . . .],
1 : α′′ 1, t′′ 2 : α′′ 2, . . .], . . .
t
1
: α
1
t
′ 1
: α
′ 1
. . . . . . . . .
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 5 / 9
1 : α′ 1, t′ 2 : α′ 2, . . .],
1 : α′′ 1, t′′ 2 : α′′ 2, . . .], . . .
t
1
: α
1
t
′ 1
: α
′ 1
. . . . . . . . .
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 5 / 9
1 : α′ 1, t′ 2 : α′ 2, . . .],
1 : α′′ 1, t′′ 2 : α′′ 2, . . .], . . .
t
1
: α
1
t
′ 1
: α
′ 1
. . . . . . . . .
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 5 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 6 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 6 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 6 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 6 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 6 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 7 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 7 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 7 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 7 / 9
1 : α′ 1, t′ 2 : α′ 2, . . .],
1 : α′′ 1, t′′ 2 : α′′ 2, . . .], . . .
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 7 / 9
1 : α′ 1, t′ 2 : α′ 2, . . .],
1 : α′′ 1, t′′ 2 : α′′ 2, . . .], . . .
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 7 / 9
1 : α′ 1, t′ 2 : α′ 2, . . .],
1 : α′′ 1, t′′ 2 : α′′ 2, . . .], . . .
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 7 / 9
1 : α′ 1, t′ 2 : α′ 2, . . .],
1 : α′′ 1, t′′ 2 : α′′ 2, . . .], . . .
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 7 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 8 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 8 / 9
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 8 / 9
λ → ∀
=
β α
H O L
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 9 / 9
λ → ∀
=
β α
H O L
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 9 / 9
λ → ∀
=
β α
H O L
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 9 / 9
λ → ∀
=
β α
H O L
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 9 / 9
λ → ∀
=
β α
H O L
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 9 / 9
λ → ∀
=
β α
H O L
Andreas Lochbihler (ETH Z¨ urich) Making the Java Memory Model Safe 9 / 9