~/talk

MaTSa: Race Detection in Java

Talkat VMIL 2025 · on Wednesday, 2025-10-15· [java, testing]
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

MaTSa is an OpenJDK-integrated dynamic race detector that implements a FastTrack-like algorithm with embedded vector clocks in object headers and a per-thread stack event buffer to reconstruct stale stack traces. It instruments heap field reads/writes and custom sync, ignores volatile-as-sync (accepting some false positives), and handles JIT and GC. Evaluation finds races in Renaissance and Quarkus (some fixed upstream), scales to large heaps, uses up to ~4× memory, and runs about 15x faster than Java TSan.

AI-written summary · about

  1. 0:00Introduction
  2. 1:52Existing race detection challenges
  3. 3:21Objectives for Java detector
  4. 4:49MaTSa tool and FastTrack
  5. 6:41FastTrack and happens-before
  6. 9:33Races via happens-before
  7. 10:57Optimizing shadow memory
  8. 12:45Garbage collection design
  9. 14:51Vector clocks in headers
  10. 15:12Efficient stack reconstruction
  11. 16:57Grouping by source lines
  12. 17:43OpenJDK instrumentation
  13. 18:25SIMD for speed
  14. 19:30Java memory model nuances
  15. 20:55Volatile fields and races
  16. 21:57Performance measurements
  17. 23:46Custom sync limitations
  18. 24:30Conclusion and future
  19. 25:17Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.