DOI: 10.1007/978-3-540-74591-4_4
|View full text |Cite
|
Sign up to set email alerts
|

Formalising Java’s Data Race Free Guarantee

Abstract: Abstract. We formalise the data race free (DRF) guarantee provided by Java, as captured by the semi-formal Java Memory Model (JMM) [1] and published in the Java Language Specification [2]. The DRF guarantee says that all programs which are correctly synchronised (i.e., free of data races) can only have sequentially consistent behaviours. Such programs can be understood intuitively by programmers. Formalisation has achieved three aims. First, we made definitions and proofs precise, leading to a better understan… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
85
0

Publication Types

Select...
8
2

Relationship

0
10

Authors

Journals

citations
Cited by 64 publications
(85 citation statements)
references
References 21 publications
0
85
0
Order By: Relevance
“…Saraswat et al [18] also define memory models in terms of local reordering, and prove a DRF theorem, but focus on high-level languages. Several groups have used proof tools to tame the intricacies of these models, including Yang et al [22], using Prolog and SAT solvers to explore an axiomatic Itanium model, and Aspinall anď Sevčík [5], who formalised and identified problems with the Java Memory Model using Isabelle/HOL.…”
Section: Verified Checker and Resultsmentioning
confidence: 99%
“…Saraswat et al [18] also define memory models in terms of local reordering, and prove a DRF theorem, but focus on high-level languages. Several groups have used proof tools to tame the intricacies of these models, including Yang et al [22], using Prolog and SAT solvers to explore an axiomatic Itanium model, and Aspinall anď Sevčík [5], who formalised and identified problems with the Java Memory Model using Isabelle/HOL.…”
Section: Verified Checker and Resultsmentioning
confidence: 99%
“…For programs without data races in the sense of the JMM, the JMM guarantees sequential consistency [3], i.e. our interleaving semantics can reproduce all allowed executions.…”
Section: Discussionmentioning
confidence: 99%
“…Thus, it clarifies our model, aids reuse of common parts, and simplifies our proofs. Nevertheless, it rigorously links Java and the JMM, which has been sorely missing in the literature [1,3]. Although most language features have already been studied in isolation, we have found many new intricate interactions between them.…”
Section: Modular Structurementioning
confidence: 99%