jokerconf Joker 2019 (25.10.2019 — 26.10.2019)

Тестирование многопоточных алгоритмов с помощью Lincheck

img

Доклад про тестирование многопоточных алгоритмов, как в этом деле помогает Lincheck (спойлер: просто незаменим в мире JVM), и немного про его внутреннее устройство.

Каждый, кто хоть раз писал многопоточный код, понимает, насколько легко в нем допустить ошибку. Более того, в сложных алгоритмах некоторые ошибки воспроизводятся крайне редко и только на определенных исполнениях, а, значит, простыми тестами их обнаружить проблематично. В этом докладе мы поговорим про инструмент Lincheck, который помогает в тестировании и отладке многопоточного кода. Обсудим как его возможности и API, так и внутреннее устройство.

Комментарий программного комитета:

Один из немногих фреймворков для автоматического тестирования многопоточного кода. Если вы хоть раз ставили volatile и synchronized, то к прослушиванию обязательно. Если не ставили — тем более.