Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore Thread Sanitizing for Java in this 30-minute conference talk featuring Jean Christophe Beyler, Arthur Eubanks, and Man Cao. Gain insights into the Thread Sanitizer (TSan) project, its implementation challenges, and initial findings. Discover how TSan detects data races in common Java libraries and learn about its potential applications for the JVM. Understand the project's goals, technical challenges, and implementation details, including modifications to build, runtime, serviceability, and GC code bases. Examine interesting statistics, such as the current number of suppressions in JDK libraries. Explore topics like Java TSan architecture, synchronization, memory accesses, volatile fields, object allocation and garbage collection, symbolization, and native races. Get a comprehensive overview of the project's progress, unresolved issues, and future directions while having the opportunity to provide feedback on Java TSan usage and key implementation decisions.
Syllabus
Intro
TSan Project: High Level Goals
Purpose of this talk
Why LLVM TSan for Java TSan
Java TSan Architecture
Synchronization
Java Memory Accesses
Volatile Fields
Allocating, Garbage Collecting, and Moving Objects
Symbolization
Native Races
Non-Performance Numbers
Unresolved issues
Conclusion
Taught by
Java