jMT: Testing Correctness of Java Memory Models (Extended Version)

📅 2026-04-17
📈 Citations: 0
Influential: 0
📄 PDF

career value

203K/year
🤖 AI Summary
This work addresses the complexity and error-proneness of the Java Memory Model (JMM) and the lack of automated verification for new proposals. The authors introduce jMT, the first tool capable of automatically verifying the multi-execution semantics of the JMM. jMT constructs well-formed execution graphs from a single-execution model and employs causal analysis to derive multi-execution semantics, enabling program-level validation of the JMM’s correctness, its compatibility with standard compiler optimizations, and its consistency with existing compilation schemes. Evaluated on 169 litmus tests, jMT successfully uncovers several latent issues in current JMM specifications, offering critical empirical support for both JMM design and compiler implementation.

Technology Category

Application Category

📝 Abstract
Folklore is often saying "The Java memory model is broken." Therefore, several approaches have proposed repairs, only to find new programs exhibiting unexpected, unintuitive behavior or the model forbidding standard compiler optimizations. The complexity of defining a memory model for concurrent Java lies in the fact that it requires a multi-execution model. Multi-execution models need to inspect the many potential executions of a program in order to find the valid ones. Tools automatically validating novel proposals of Java memory models are, however, largely lacking. To alleviate this problem, we introduce jMT, a novel tool for constructing multi-execution semantics for concurrent Java programs. jMT relies on single-execution models defining well-formed execution graphs, based on which it builds valid multi-execution semantics via causality checking. Thereby, jMT supports evaluating new proposals of Java memory models (JMMs) on a per-program basis. jMT can furthermore be employed for testing the conformance of JMMs to existing compilation schemes and compilers. Our evaluation of jMT on 169 litmus tests reveals a number of interesting insights into existing JMMs.
Problem

Research questions and friction points this paper is trying to address.

Java memory model
correctness
multi-execution
concurrent programs
validation
Innovation

Methods, ideas, or system contributions that make the work stand out.

Java Memory Model
multi-execution semantics
causality checking
conformance testing
litmus tests
🔎 Similar Papers
No similar papers found.