Runtime Verification of Kotlin Coroutines
Paper i proceeding, 2022

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 micro-benchmarks and measure the execution time and memory overheads.

Författare

Denis Furian

Opera Software AB

Shaun Azzopardi

Chalmers, Data- och informationsteknik, Formella metoder

Göteborgs universitet

Yliés Falcone

Université Grenoble Alpes

Gerardo Schneider

Göteborgs universitet

Chalmers, Data- och informationsteknik, Data Science och AI

Lecture Notes in Computer Science

0302-9743 (ISSN) 1611-3349 (eISSN)

Vol. 13498 LNCS 221-239
978-3-031-17195-6 (ISBN)

22nd International Conference on Runtime Verification, RV 2022
Tbilsi, Georgia,

Ämneskategorier (SSIF 2025)

Datavetenskap (datalogi)

Datorsystem

DOI

10.1007/978-3-031-17196-3_12

Mer information

Senast uppdaterat

2025-11-26