Charla: Modular Abstract Definitional Interpreters for WebAssembly
Sebastian Erdweg (JG University of Mainz, Germany)

Abstract: Even though static analyses can improve performance and secure programs against vulnerabilities, no static whole-program analyses exist for WebAssembly (Wasm) to date. Part of the reason is that Wasm has many complex language concerns, and it is not obvious how to adopt existing analysis frameworks for these features. This talk explores how abstract definitional interpretation can be used to develop sophisticated analyses for Wasm and other complex languages efficiently. In particular, we show that the semantics of Wasm can be decomposed into 19 language-independent components that abstract different aspects of Wasm. We have written a highly configurable definitional interpreter for full Wasm 1.0 in 1400 LOC against these components. Analysis developers can instantiate this interpreter with different value and effect abstractions to obtain abstract definitional interpreters that compute inter-procedural control and data-flow information. This way, we develop the first whole-program dead code, constant propagation, and taint analyses for Wasm, each in less than 400 LOC. We evaluate our analyses on 1458 Wasm binaries collected by others in the wild. Our implementation is based on a novel framework for definitional abstract interpretation in Scala that eliminates key deficiencies of prior work.

Bio: Sebastian Erdweg is a professor of computer science at JGU Mainz in Germany, where he works on the foundation and application of programming languages. Sebastian's goal is to support developers in creating and maintaining reliable and efficient software systems. His group studies the design and efficient implementation of program languages, programming tools, and programming methods, with a particular focus on static analysis, logic programming, and incremental computing.


  • Tags

Auditorio Ramón Picarte
Facultad de Cs. Físicas y Matemáticas
Universidad de Chile

Beauchef 851, edificio norte, 3er piso

Fecha del evento
4 de Octubre de 2022
14:45 - 16:00

Laboratorio PLEIAD