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

Runtime snapshot creation for Kotlin Notebook

Description

Snapshot creation is a widely used tool for system backups, reducing warmup time, etc. Generally, a snapshot represents a particular state in a moment of time. However, using a snapshot to restore the dynamic system might be a challenging task. Building one for a Virtual Machine implies digging through even an additional layer of abstraction. 


We at the Kotlin Notebook team want to build an integration of CRaC (Coordinated Restore at Checkpoint) tool, which OpenJDK is currently developing.
Kotlin Notebook is an IDE-plugin aiming to facilitate fast prototyping and code-exploration inside a user project. Core functionality consists of two titans: language backend itself (kernel) and IDE-plugin.


Internship will focus on creating a snapshot for the language backend (kernel) on demand as well as restoring from it, so that JVM can snapshot warmed state and restore quickly without a cold start. Eventually, the logic should be integrated inside the Kotlin Notebook code base inside IntelliJ. 


As a pleasant research artifact, performance increase/decrease for startup time would be made. This work opens a road for many interesting features: 

  • reducing startup time latency 

  • sharing Notebook snapshots as artifacts in issue trackers, e.g. as an ultimate container with all the artifacts 

  • side-effects-free evaluations, including reactivity 

Requirements

  • Student or recent graduate in Computer Science, Software Engineering, or related field.

  • Programming experience, familiarity with concurrent programming, Kotlin/Java (experience with IntelliJ Platform plugins is a plus).

  • Basic knowledge of language tooling implementation (debugging, parsing, syntax highlighting).

  • Understanding of JVM internals is a plus

  • Experience with Jupyter kernels is a plus 

Admission

Internship projects 2025-2026

Contact details

internship@jetbrains.com

Preferred internship location

Cyprus
Czechia
Germany
Netherlands
Serbia
UK

Area

Development
Research

Internship timing preferences

Flexible start

Candidate graduation status

Final-year students preferred

Additional information

Potential thesis