Dynamic Slicing of WebAssembly Binaries

Research output: Chapter in Book/Report/Conference proceedingConference paper

Abstract

The recently introduced WebAssembly standard aims to form a portable compilation target, enabling the cross-platform distribution of programs written in a variety of languages. In this paper, we propose and investigate the first dynamic slicing approaches for WebAssembly. Given a program and a location in that program, a program slice is a reduced version of the program that preserves the behavior at the given location. Slicing has numerous applications in software maintenance and evolution, including reverse engineering, code comprehension, and quality assurance.
Our dynamic approaches are built on Observational-Based Slicing (ORBS). We explore the design space for instantiating ORBS for WebAssembly: for example, it can be applied to the whole program or to only the function containing the slicing criterion, and it can be applied before compilation to WebAssembly or afterwards. We evaluate the slices produced quantitatively and qualitatively, and compare them to those obtained by a state-of-the-art static slicer for WebAssembly. Our evaluation reveals that dynamic slicing at the level of a function from a WebAssembly binary finds a sweet spot in terms of slice time and slice size.
Original languageEnglish
Title of host publicationProceedings of the 39th IEEE International Conference on Software Maintenance and Evolution (ICSME 2023)
PublisherIEEE
Number of pages13
Publication statusAccepted/In press - 2023
Event39th IEEE International Conference on Software Maintenance and Evolution - Bogota, Colombia
Duration: 1 Oct 20236 Oct 2023
Conference number: 39

Conference

Conference39th IEEE International Conference on Software Maintenance and Evolution
Abbreviated titleICSME 2023
Country/TerritoryColombia
CityBogota
Period1/10/236/10/23

Keywords

  • dynamic program slicing
  • WebAssembly
  • program analysis

Fingerprint

Dive into the research topics of 'Dynamic Slicing of WebAssembly Binaries'. Together they form a unique fingerprint.

Cite this