SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Sun 22 Oct 2023 10:00 - 10:15 at Room II - MPLR Session 1 Chair(s): Eliot Moss

Annotations add metadata to source code entities such as classes or functions, which later can be processed by so-called annotation processors to, for example, modify the annotated program's source code.
While annotation processing has been well-explored in Java, the Kotlin community still lacks a comprehensive summary.
Thus, in this paper, we summarize the main approaches available in Kotlin: (1) Compile-time annotation processing using (a)~Kotlin Annotation Processing Tool (KAPT), (b) Kotlin Symbolic Processing (KSP), or (c) writing a custom Kotlin Compiler plugin; as well as (2) load-time code modification using an agent or a custom class loader.
We provide proof-of-concept implementations, discuss advantages and disadvantages, and specifically focus on how well each approach supports modifying the annotated source code.
This should help developers and researchers to better decide when to use which approach.

Sun 22 Oct

Displayed time zone: Lisbon change

09:00 - 10:30
MPLR Session 1MPLR at Room II
Chair(s): Eliot Moss University of Massachusetts at Amherst
09:00
5m
Day opening
Welcome from the Chairs
MPLR
Rodrigo Bruno INESC-ID - IST-ULisboa, Eliot Moss University of Massachusetts at Amherst
09:05
55m
Keynote
Is Wasm Becoming Garbage? (Keynote)
MPLR
K: Andreas Rossberg Independent
DOI
10:00
15m
Talk
On the Applicability of Annotation-Based Source Code Modification in Kotlin (Work in Progress)
MPLR
Daniel Pfeffer JKU Linz, Markus Weninger JKU Linz
DOI
10:15
15m
Talk
CloudJIT: A Just-in-Time FaaS Optimizer (Work in Progress)
MPLR
Serhii Ivanenko INESC-ID; IST-ULisboa, Rodrigo Bruno INESC-ID - IST-ULisboa, Jovan Stevanovic Oracle Labs, Luís Veiga INESC-ID; IST-ULisboa, Vojin Jovanovic Oracle Labs
DOI