ISSTA/ECOOP 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria

Most mainstream programming languages now offer the async-await mechanism or coroutines abstraction for asynchronous programming. Kotlin stands out with coroutines that occupy a unique spot in the overall language design, using a single suspend modifier at the language level. Kotlin Coroutines are massively adopted by the Kotlin user base, being a recommended solution to concurrency in Android programming and offering concise syntax for reactive server-side applications.

In this tutorial, we will delve deep into Kotlin Coroutines. Starting with a high-level discussion of what coroutines are and how they work in Kotlin, we continue with talks dedicated to particular parts that require non-trivial concurrent algorithms: coroutines scheduler, channels, and synchronization primitives. We have recently redesigned most of these parts; much of the work was published at PPoPP and PLDI conferences last year. Finally, we will discuss the Lincheck framework designed to test all these algorithms for correctness.

During this tutorial, we would like to show the problems we have faced when improving Kotlin Coroutines, present all the work in one place, and gather people who develop concurrent algorithms and programming languages.

Talks

Title
Coroutines Scheduler
CAKC
CQS: A Formally-Verified Framework for Fair and Abortable Synchronization Primitives
CAKC
Link to publication
Fast and Scalable Communication Channels
CAKC
Link to publication
Lincheck: A Practical Framework for Testing Concurrent Data Structures on JVM
CAKC
Plenary
You're viewing the program in a time zone which is different from your device's time zone change time zone

Wed 18 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:00 - 10:30
12:00 - 13:30
15:00 - 15:30
15:30 - 16:50
Concurrent Algorithms in Kotlin CoroutinesCAKC at EI 4 Reithoffer
15:30
80m
Talk
Lincheck: A Practical Framework for Testing Concurrent Data Structures on JVM
CAKC
Nikita Koval JetBrains
17:45 - 23:00
BanquetSocial Events at Fuhrgassl-Huber

We will take buses from the conference venue to go to the banquet.

Questions? Use the CAKC contact form.