Runtime Verification of Kotlin Coroutines

dc.contributor.authorFurian, Denis
dc.contributor.authorAzzopardi, Shaun
dc.contributor.authorFalcone, Yliès
dc.date.accessioned2022-11-15T12:40:46Z
dc.date.available2022-11-15T12:40:46Z
dc.date.issued2022
dc.description.abstractKotlin 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 micro-benchmarks and measure the execution time and memory overheads.en
dc.identifier.citationLecture Notes in Computer Science book series (LNCS,volume 13498)en
dc.identifier.urihttps://hdl.handle.net/2077/74147
dc.language.isoengen
dc.titleRuntime Verification of Kotlin Coroutinesen
dc.typeTexten
dc.type.svepconference paper, peer revieweden

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
319771.pdf
Size:
391.07 KB
Format:
Adobe Portable Document Format
Description:
Conference paper

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
4.68 KB
Format:
Item-specific license agreed upon to submission
Description: