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

April 17, 2026 ยท Grace Period ยท ๐Ÿ› TACAS 2026 proceedings in LNCS 16506, Springer, Cham

โณ Grace Period
This paper is less than 90 days old. We give authors time to release their code before passing judgment.
Authors Lukas Panneke, Heike Wehrheim arXiv ID 2604.15978 Category cs.PL: Programming Languages Citations 0 Venue TACAS 2026 proceedings in LNCS 16506, Springer, Cham
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.
Community shame:
Not yet rated
Community Contributions

Found the code? Know the venue? Think something is wrong? Let us know!

๐Ÿ“œ Similar Papers

In the same crypt โ€” Programming Languages