Internships
Register
Copyright © 2000—2026 JetBrains s.r.o.

IR inliner testing with fuzzer Hephaestus

Description

Kotlin Compiler Common Backend team is responsible for such compiler components as inliner, actualizer, and other parts related to the Kotlin Intermediate Representation (IR) processing for Native, JS and WASM backends. This year Common Backend team has prepared a big refactoring of IR inliner. Inliner replaces an inline function call with the function’s actual body at the call site. You can read more about this in the Kotlin documentation: https://kotlinlang.org/docs/inline-functions.html.

Following major changes, it is important to properly test the inliner. Our team has an idea to test Kotlin IR inliner using fuzzing — a technique for automated testing which is based on analyzing the program reaction to "random" input data. There is an open-source fuzzer Hephaestus, that generates Kotlin, Java and Groovy programs from scratch and compiles them using the corresponding compiler. You can read more about Hephaestus here: https://theosotr.github.io/assets/pdf/pldi22.pdf. This fuzzer suits our purposes perfectly, and it has already found several bugs in the inliner.

  • KT-81713: [Inliner] Compilation of inline function with recursive call applied to TODO() fails with an internal error

  • KT-82017: [Inliner] Inline function overrides abstract method with default value

  • KT-83904: [Inliner] Inline function overrides an abstract method with a default value in an inheritance chain

This internship involves testing the inliner using Hephaestus and its improvement to support more language constructs and generate correct programs more reliably.

Requirements

  • Basic understanding of software testing theory.

  • Familiarity with Python. You should be ready to write and understand Python code, because this is the language of Hephaestus fuzzer.

  • Familiarity with Kotlin — the language under test. Enough to write simple programs and test examples.

  • Readiness to dive into the Kotlin project and the details of the Kotlin compiler's process.

Admission

Internship Projects Summer/Fall 2026

Contact details

internship@jetbrains.com

Preferred internship location

Cyprus

Technologies

Kotlin
Python

Area

QA

Internship timing preferences

Full-time preferable

Additional information

Good fit for beginners
Applications by 16.03.2026
Interview by 17.04.2026
Feedback and final results by 22.04.2026