Guillermo Polito

Guillermo Polito

Mastering objects

Research Activities

I organise my research in three different axes of work: programming language evolution; program inspection and debugging; implementation techniques for efficient programming languages. These three axes join together in the project AlaMVic, an Action Exploratoire Inria that I lead starting in 2021.

Programming language evolution and modularity

During my thesis I proposed a language virtualization infrastructure that gives language designers the ability to control and manipulate the behaviour of applications. I have used this infrastructure in the context of language evolution with three main case studies: the generation and prototyping of VM language-kernels, the reduction of program memory footprints, and the hot update of applications and language base libraries. I now co-supervise the PhD thesis of Carolina Hernandez Phillips, who investigates how to extend this approach to a larger set of Virtual Machine-based programming languages.

I alwo work on new programming language concepts and infrastructures aimed at programming language modularity. I worked on a formalisation of the method extension mechanism and a mechanism to cope with the loading of partial code named Undefined Classes~(Best paper award IWST workshop). With Pablo Tesone we explored a novel language core infrastructure that allows language extensions to be installed seamlessly on small language kernels, and new techniques to update applications while they are executed.

Program inspection and debugging

Since 2017 I explore the world of debugging, in particular in the context of parallel BigData applications. I have worked on out-of-place debugging, a debugging infrastructure that transfers the state of failed executions to the developer's machine to make it practical. I am also interested in debugging support for new generation debuggers, and programming language support for it.

Implementation technology for efficient programming languages

I contribute to the implementation of the Open Source Pharo Virtual Machine, where I work on compiler construction and program optimisation. I implemented a large part of the new JIT compiler backend for the ARMv8 family of processors and I have explored VM extensions to cope with the inefficiencies of input/output in concurrent programs.

AlaMVic: A generative approach to virtual machine construction

Since February 2021, I lead an Action Exploratoire Inria that explores new methods to construct Virtual Machines. This project aims to solve the high-cost of VM construction, joining together the three axes of research I've been carrying out until now: evolvable, inspectable and efficient Language Virtual Machine construction. We are now working on tackling VM construction using a holistic generative approach.

Other activities

I'm actively participating in research activities such as organization of events. Do not hesitate to contact me for collaborations!

International conference committees and organization

International workshop committees