TGViewer
Kotlin Kotlin @kotlin_lib · 2.05K subscribers
Post #645 818
LitmusKt: новый инструмент для тестирования конкурентности в Kotlin

JetBrains Research представила LitmusKt - фреймворк для тестирования конкурентных сценариев в Kotlin. Он помогает исследователям и разработчикам проверять поведение многопоточных программ и JVM-памяти.

LitmusKt основан на идее litmus tests - небольших программ, моделирующих работу нескольких потоков и проверяющих возможные результаты исполнения. Такие тесты позволяют выявить неочевидные эффекты из-за reorderings, кешей и особенностей модели памяти.

Основные возможности LitmusKt:

- Поддержка JVM и Kotlin/Native;
- Встроенные модели памяти (Java, Kotlin, C11, и др.);
- Автоматическая генерация всех возможных интерлеавингов потоков;
- Проверка ожидаемых и неожиданных исходов;
- Интеграция с Kotlin DSL для лаконичного описания тестов.

Пример теста:


litmus("StoreLoad") {
thread("T1") { x = 1; r1 = y }
thread("T2") { y = 1; r2 = x }
outcome { r1 == 0 && r2 == 0 } // недопустимо по Java Memory Model
}


Этот пример проверяет, может ли оба потока одновременно прочитать нули, что нарушает JMM.

Инструмент можно использовать для анализа оптимизаций компилятора, JVM и нового Kotlin Memory Model.

https://blog.jetbrains.com/research/2025/10/litmuskt-concurrency-testing/

✍️ @kotlin_lib
  • 👍 8
More from @kotlin_lib
  1. Aug 26, 2026🚧 Ваш Mutex тормозит корутины. Как перестать лочить и начать жить Вы пишете многопоточный…
  2. Jul 25, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  3. Jul 1, 2026🌪 Ваша дата в опасности: flatMapConcat vs Merge vs Latest Вам нужно взять поток ID-шников…
  4. Jun 24, 2026🤖 Android-приложение — это не только красивый экран. За ним стоят работа с внешним API, з…
  5. Jun 23, 2026🔮 Убийца бойлерплейта: Встречайте Context Parameters (Kotlin 2.x) Мы так привыкли к Depen…
  6. Jun 3, 2026Яндекс обновил Yandex Mobile Ads SDK для монетизации мобильных приложений — и это интересн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →