Lincheck: Testing concurrency on the JVM


Room: Paris 243

Scheduled at : Friday 13:30 14:15


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:

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.

Speaker's bio
Presentation type Conference
Track Java, JVM
Presentation level Expert and senior
Keywords JVM concurrency testing

Room Paris 243