Morello MicroPython: A Python Interpreter for CHERI
Arm Morello is a prototype system that supports CHERI
hardware capabilities for improving runtime security. As
Morello becomes more widely available, there is a growing effort to port open source code projects to this novel
platform. Although high-level applications generally need
minimal code refactoring for CHERI compatibility, low-level
systems code bases require significant modification to comply with the stringent memory safety constraints that are
dynamically enforced by Morello. In this paper, we describe
our work on porting the MicroPython interpreter to Morello
with the CheriBSD OS. Our key contribution is to present a
set of generic lessons for adapting managed runtime execution environments to CHERI, including (1) a characterization
of necessary source code changes, (2) an evaluation of runtime performance of the interpreter on Morello, and (3) a
demonstration of pragmatic memory safety bug detection.
Although MicroPython is a lightweight interpreter, mostly
written in C, we believe that the changes we have implemented and the lessons we have learned are more widely
applicable. To the best of our knowledge, this is the first
published description of meaningful experience for scripting
language runtime engineering with CHERI and Morello.
Sun 22 OctDisplayed time zone: Lisbon change
11:00 - 12:30 | |||
11:00 22mTalk | Evaluating YJIT’s Performance in a Production Context: A Pragmatic Approach MPLR Maxime Chevalier-Boisvert Shopify, Takashi Kokubun Shopify, Noah Gibbs Shopify, Si Xing "Alan" Wu Shopify, Aaron Patterson Shopify, Jemma Issroff Shopify DOI | ||
11:22 22mTalk | CacheIR: The Benefits of a Structured Representation for Inline Caches MPLR Jan de Mooij Mozilla, Matthew Gaudet Mozilla, Iain Ireland Mozilla, Nathan Henderson University of Alberta, Jose Nelson Amaral University of Alberta DOI File Attached | ||
11:45 22mTalk | Diagnosing Compiler Performance by Comparing Optimization Decisions MPLR Andrej Pečimúth Oracle Labs; Charles University, David Leopoldseder Oracle Labs, Petr Tuma Charles University DOI | ||
12:07 22mTalk | Morello MicroPython: A Python Interpreter for CHERI MPLR Duncan Lowther University of Glasgow, Dejice Jacob University of Glasgow, Jeremy Singer University of Glasgow DOI Pre-print |