‹Programming› 2026
Mon 16 - Fri 20 March 2026 Munich, Germany
Thu 19 Mar 2026 16:15 - 17:00 at Lecture Hall - Virtual machines Chair(s): Stefan Marr

CHERI (Capability Hardware Enhanced RISC Instructions) is a novel hardware designed to address memory safety issues. By replacing traditional pointers with hardware capabilities, it enhances security in modern software systems. A Virtual Machine (VM) is one such system that can benefit from CHERI’s protection, as it may contain latent memory vulnerabilities.

However, developing and porting VMs to CHERI is a non-trivial task. There are many subtle pitfalls from the assumptions on the undefined behavior of the C language made based on conventional architectures. Those assumptions conflict with CHERI’s stricter memory safety model, causing unexpected failures.

Although several prior works have discussed the process of porting VMs, they focus on the overall porting process instead of the pitfalls for VM implementation on CHERI. The guide for programming in CHERI exists, but it is for general programming, not addressing VM-specific issues.

We have ported CRuby to CHERI as a case study and surveyed previous works on porting VMs to CHERI. We categorized and discussed the issues found based on their causes.

In this paper, we illustrate the VM-specific pitfalls for each category. Most of the pitfalls arise from the undefined behaviours in the C language; in particular, implementation techniques and idioms of VMs often assume behavior of traditional architectures that are invalid on CHERI. We also discuss workarounds for them and the impacts of those workarounds.

We verified the validity of the workarounds by applying them to our CRuby port and by surveying the codebases of prior case studies.

This work contributes to the body of knowledge on developing and porting VMs to CHERI and will help guide efforts toward constructing safer VMs.

Thu 19 Mar

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

15:30 - 17:00
Virtual machinesResearch Papers at Lecture Hall
Chair(s): Stefan Marr Johannes Kepler University Linz
15:30
45m
Talk
BlueScript: A Disaggregated Virtual Machine for Microcontrollers
Research Papers
Fumika Mochizuki University of Tokyo, Tetsuro Yamazaki University of Tokyo, Shigeru Chiba The University of Tokyo
DOI
16:15
45m
Talk
Pitfalls in VM Implementation on CHERI: Lessons from Porting CRuby
Research Papers
Hanhaotian Liu The University of Tokyo, Tetsuro Yamazaki University of Tokyo, Tomoharu Ugawa University of Tokyo
DOI