Simplifying Kotlin Compile-Time Code Instrumentation

Research output: Contribution to journalConference articlepeer-review

Abstract

Since Kotlin can be translated for different targets such as the JVM, WebAssembly, or Native, traditional load-time instrumentation would have to be re-implemented for each such compilation target. A target-agnostic solution is to instrument code at the compiler’s Intermediate Representation (IR) level. However, the official compiler API for this is low-level and verbose, posing a significant barrier. We present KIRHelperKit, a library that simplifies Kotlin compile-time code instrumentation. It drastically reduces the number of lines of code needed to develop custom multi-platform performance profilers that work seamlessly across all Kotlin targets, significantly reducing development effort.
Original languageEnglish
Number of pages3
JournalSoftwaretechnik-Trends
Volume45
Issue number4
Publication statusPublished - 2025

Fields of science

  • 102009 Computer simulation
  • 102013 Human-computer interaction
  • 102011 Formal languages
  • 102022 Software development
  • 102029 Practical computer science
  • 102 Computer Sciences
  • 102024 Usability research

JKU Focus areas

  • Digital Transformation

Cite this