About me
Hi! I am Nikita Koval, and you are on my personal website. I lead the Debugging Research team at JetBrains and specialize in concurrent programming and program analysis. Recent highlights include redesigning the synchronization and communication primitives for Kotlin coroutines and creating Lincheck, a testing framework for concurrent data structures.
Besides work, I am passionate about outdoor activities like cycling, skiing, or hiking when not working. Yet, the true love is sailing on small sports boats — that's me on a laser on the right ⛵
Do not hesitate to drop me a line if we have an interesting topic to discuss!

Concurrent Algorithms Workshop
Elevate your team's concurrent programming skills with this intensive 4-day workshop! Designed specifically for corporate teams, this hands-on training delivers practical algorithms and techniques that your developers can immediately apply to real-world challenges.
- Comprehensive curriculum from basic locking to advanced concurrent data structures
- Hands-on exercises with instructor guidance throughout
- Builds long-lasting intuition for solving concurrent programming challenges
Book for Your Team Limited spots available for Q3/Q4 2025
Selected publications
- Lincheck: A Practical Framework for Testing Concurrent Data Structures on JVM [PDF]
Nikita Koval, Alexander Fedorov, Maria Sokolova, Dmitry Tsitelov, Dan Alistarh. CAV 2023.
Here, we present the Lincheck framework for testing concurrent data structures on JVM. - CQS: A Formally-Verified Framework for Fair and Abortable Synchronization [PDF]
Nikita Koval, Dmitry Khalanskiy, Dan Alistarh. PLDI 2023.
In this work, we introduce a new CancellableQueueSynchronizer algorithmic framework, which enables simple yet efficient implementations of a wide range of fair and abortable synchronization primitives: mutexes, semaphores, barriers, count-down latches. We are going to merge the framework into Kotlin coroutines. - Fast and Scalable Channels in Kotlin Coroutines [PDF]
Nikita Koval, Dan Alistarh, Roman Elizarov. PPoPP 2023.
This paper describes how rendezvous and buffered channels in Kotlin Coroutines work under the hood. - Multi-Queues Can Be State-of-the-Art Priority Schedulers [PDF]
Anastasiia Postnikova, Nikita Koval, Giorgi Nadiradze, Dan Alistarh. PPoPP 2022.
This paper introduces several techniques that make the classic multi-queue significantly faster without losing fairness.
See the full list of publications here.