‹Programming› 2024
Mon 11 - Fri 15 March 2024 Lund, Sweden
Tue 12 Mar 2024 14:00 - 14:30 at M:G - VM Design Chair(s): Stefan Marr

Instrumentation platforms facilitate the development and deployment of dynamic analyses. The state-of-the-art instrumentation platforms for JavaScript rely on different weaving approaches for instrumentation, offering different levels of analysis expressiveness. The main issue is that they are unable to observe and reason about abstract operations as these operations are not exposed to language constructs. However, abstract operations are pivotal to understanding JavaScript’s runtime behaviour. This paper demonstrates the importance of exposing the ToPrimitive abstract operation, which lies at the core of JavaScript’s type coercion. We introduce BoaSpect, an interpreter-based instrumentation platform for JavaScript, which provides increased expressiveness by exposing the ToPrimitive trap through the instrumentation interface. We demonstrate its potential by implementing a novel analysis in BoaSpect to identify a potential security exploit, and a taint analysis which can track information flows precisely in the presence of implicit type coercions.

Tue 12 Mar

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

13:00 - 15:00
VM DesignMoreVMs at M:G
Chair(s): Stefan Marr University of Kent
13:00
60m
Talk
Virtual Machines: should we keep doing them?MoreVMs Invited Talk
MoreVMs
Javier Pimás Universidad de Buenos Aires
14:00
30m
Talk
BoaSpect: An Expressive Instrumentation Platform for JavaScript
MoreVMs
Aäron Munsters Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Angel Luis Scull Pupo Sofware Languages Lab, Vrije Universiteit Brussel
14:30
30m
Talk
A Virtual Machine for Higher-Order Reactors
MoreVMs
Bjarno Oeyen Vrije Universiteit Brussel, Jens Nicolay Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel