LitmusKt: Concurrency Stress Testing for Kotlin

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Lochmelis, Denis, Moiseenko, Evgenii, Golubev, Yaroslav, Podkopaev, Anton
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866908330857857024
author Lochmelis, Denis
Moiseenko, Evgenii
Golubev, Yaroslav
Podkopaev, Anton
author_facet Lochmelis, Denis
Moiseenko, Evgenii
Golubev, Yaroslav
Podkopaev, Anton
contents We present LitmusKt - the first tool for litmus testing concurrent programs in Kotlin. The tool's novelty also lies in the fact that Kotlin is a multiplatform language, i.e., it compiles into multiple platforms, which means that the concurrency has to be tested on several of them. Our tool allows writing litmus tests in a single custom DSL, and these tests are then run in Kotlin/Native and Kotlin/JVM, two main platforms for concurrent programming in Kotlin. Using LitmusKt, we discovered novel bugs in the Kotlin compiler, which we then fixed and they are no longer present. Moreover, LitmusKt was integrated into the CI pipeline for Kotlin. LitmusKt is available on GitHub: https://github.com/JetBrains-Research/litmuskt. The demo is available on YouTube: https://youtu.be/oWCZp_Huwss.
format Preprint
id arxiv_https___arxiv_org_abs_2501_07472
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle LitmusKt: Concurrency Stress Testing for Kotlin
Lochmelis, Denis
Moiseenko, Evgenii
Golubev, Yaroslav
Podkopaev, Anton
Programming Languages
Software Engineering
We present LitmusKt - the first tool for litmus testing concurrent programs in Kotlin. The tool's novelty also lies in the fact that Kotlin is a multiplatform language, i.e., it compiles into multiple platforms, which means that the concurrency has to be tested on several of them. Our tool allows writing litmus tests in a single custom DSL, and these tests are then run in Kotlin/Native and Kotlin/JVM, two main platforms for concurrent programming in Kotlin. Using LitmusKt, we discovered novel bugs in the Kotlin compiler, which we then fixed and they are no longer present. Moreover, LitmusKt was integrated into the CI pipeline for Kotlin. LitmusKt is available on GitHub: https://github.com/JetBrains-Research/litmuskt. The demo is available on YouTube: https://youtu.be/oWCZp_Huwss.
title LitmusKt: Concurrency Stress Testing for Kotlin
topic Programming Languages
Software Engineering
url https://arxiv.org/abs/2501.07472