Maria Sokolova

Maria Sokolova


Software developer in the Kotlin Libraries Team at JetBrains. My areas of interest are language design, concurrent algorithms and their verification.

Twitter : @mvicsokolova


Track : Java, JVM

Type de présentation : Conference

Lincheck: Testing concurrency on the JVM

Writing a good and robust concurrent test may be as challenging as implementing the algorithm, if not more so. Straightforward stress tests likely do not catch all bugs and flack. We need a way to write concurrent tests in a handy, declarative way, keeping in mind "what to test," not "how." At JetBrains, we've developed Lincheck, a framework that provides a simple and declarative way to write concurrent tests: users just need to list all the data structure operations and Lincheck verifies whether these operations are thread-safe or not.

During the workshop, the work steps of the tool will be explained, and without diving deep into the internals of implementation, I will provide sample projects corresponding to various concurrent problems and guide you through solving them using Lincheck. Those projects will be in Kotlin, but as Kotlin is very concise and easy-to-follow there will be no problem to transfer this usage experience to any other JVM-based language (e.g. Java, Scala..).

Additional info: Lincheck on Github: Lincheck guide: