Runtime Verification of Kotlin Coroutines - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year :

Runtime Verification of Kotlin Coroutines


Kotlin was introduced to Android as the recommended language for development. One of the unique functionalities of Kotlin is that of coroutines, which are lightweight tasks that can run concurrently inside threads. Programming using coroutines is difficult, among other things, because they can move between threads and behave unexpectedly. We introduce runtime verification in Kotlin. We provide a language to write properties and produce runtime monitors tailored to verify Kotlin coroutines. We identify, formalise and runtime verify seven properties about common runtime errors that are not easily identifiable by static analysis. To demonstrate the acceptability of the technique in real applications, we apply our framework to an in-house Android app and microbenchmarks and measure the execution time and memory overheads.
Fichier principal
Vignette du fichier
rv22-1.pdf (391.07 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03911794 , version 1 (23-12-2022)


  • HAL Id : hal-03911794 , version 1


Denis Furian, Shaun Azzopardi, Yliès Falcone, Gerardo Schneider. Runtime Verification of Kotlin Coroutines. RV 2022 - 22nd International Conference on Runtime Verification, Sep 2022, Tbilisi, Georgia. pp.1-19. ⟨hal-03911794⟩
70 View
50 Download


Gmail Facebook Twitter LinkedIn More