Thu 20 Jul 2023 16:00 - 16:15 at Habib Classroom (Gates G01) - ECOOP 6: Design Chair(s): Shigeru Chiba

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 paper 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 1628 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 210 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 scalability issues of prior work.

Thu 20 Jul

Displayed time zone: Pacific Time (US & Canada) change

15:30 - 17:00
ECOOP 6: DesignResearch Papers at Habib Classroom (Gates G01)
Chair(s): Shigeru Chiba The University of Tokyo
15:30
15m
Talk
On the Rise of Modern Software Documentation
Research Papers
Marco Raglianti Software Institute - USI, Lugano, Csaba Nagy Software Institute - USI, Lugano, Roberto Minelli Software Institute - USI, Lugano, Bin Lin Radboud University, Michele Lanza Software Institute - USI, Lugano
DOI
15:45
15m
Talk
Rust for Morello: Always-on Memory Safety, Even in Unsafe Code
Research Papers
Sarah Harris University of Kent, Simon Cooksey University of Kent, Michael Vollmer University of Kent, Mark Batty University of Kent
DOI
16:00
15m
Talk
Modular Abstract Definitional Interpreters for WebAssembly
Research Papers
Katharina Brandl JGU Mainz, Sebastian Erdweg JGU Mainz, Sven Keidel TU Darmstadt, Germany, Nils Hansen JGU Mainz
DOI Pre-print
16:15
15m
Talk
Sinatra: Stateful Instantaneous Updates for Commercial Browsers Through Multi-Version eXecution
Research Papers
Ugnius Rumsevicius University of Illinois - Chicago, Siddhanth Venkateshwaran University of Illinois - Chicago, Ellen Kidane University of Illinois - Chicago, Luís Pina University of Illinois at Chicago
DOI Pre-print
16:30
15m
Talk
The Dolorem Pattern: Growing a Language through Compile-Time Function Execution
Research Papers
Simon Henniger Technical University of Munich, Nada Amin Harvard University
DOI
16:45
15m
Talk
Breaking the Negative Cycle: Exploring the Design Space of Stratification for First-Class Datalog Constraints
Research Papers
Jonathan Lindegaard Starup Aarhus University, Magnus Madsen Aarhus University, Ondřej Lhoták University of Waterloo
DOI