In this SQUARE talk Raúl will discuss writing thread safe code using the Java Memory Model.
SPEAKER: Raúl Pardo Jimenez, Assoc. prof. at ITU.
ABSTRACT: In this talk, I will give an introduction on how to use the Java Memory Model to analyze thread-safety in Java. I will cover the basic definitions of the Java Memory Model. I will discuss the connection between these definitions and the standard design patterns for thread-safe Java classes (e.g., as presented the reference textbook “Java Concurrency in Practice” by Goetz et al.). Finally, I will demonstrate the problems that occur in incorrectly synchronized programs with several examples.
The talk is based on the lecture notes for the PCPP course [1] and our work on using CodeQL to analyze thread-safety in Java [2].
[1] – Raúl Pardo. The Java Memory Model (for PCPP). 2025. https://github.itu.dk/jst/PCPP2025-Public/blob/main/week03/java_memory_model_lecture_notes.pdf
[2] – Bjørnar Haugstad Jåtten, Simon Boye Jørgensen, Rasmus Petersen, Raúl Pardo. Scalable Thread-Safety Analysis of Java Classes with CodeQL. arXiv 2509.02022. 2025.
