ECOOP 2026
Mon 29 June - Fri 3 July 2026 Brussels, Belgium

Language Virtual Machines (VMs) are complex software systems that implement interpreters, just-in-time (JIT) compilers, and memory managers. Ensuring their correctness is particularly challenging due to low-level implementation details, cross-architecture deployment, and the difficulty of reproducing subtle bugs such as memory corruptions.

Lots of bugs are found in widespread language implementations every year by researchers, and they are typically difficult to reproduce, minimize, and debug. Besides these challenges, simple software engineering techniques remain very powerful. In this talk, we explore how we can tackle complex testing problems in the Pharo Virtual Machine with simple ideas: testing, fuzzing, and simulation.

Who knows, maybe we find a bug.

Guille Polito is a permanent researcher at Inria of the University of Lille, within the RMoD team. Guille’s main research interests are programming language implementations, programming tools, modular systems, and the maintenance of large software systems.

He currently works on Virtual Machines for object-oriented languages, with a focus on modular systems and languages, and development tools. Guille works in the development of the open-source Pharo programming language and environment since 2010, and he is a member of its technical board since 2018.