An Empirical Evaluation of Static, Dynamic, and Hybrid Slicing of WebAssembly Binaries

Quentin Stiévenart, Dave Binkley, Coen De Roover

Research output: Contribution to journalArticlepeer-review

32 Downloads (Pure)

Abstract

The WebAssembly standard aims to form a portable compilation target, enabling the cross-platform distribution of programs written in a variety of languages. This paper introduces and evaluates novel slicing approaches for WebAssembly, including dynamic and hybrid approaches. Given a program and a location in that program, a program slice is a reduced program that preserves the behavior at the given location. A static slice does so for all possible inputs, while a dynamic slice does so for a fixed set of inputs. Hybrid slicing is a combination of static and dynamic slicing. We build on Observational-Based Slicing (ORBS), where we explore the design space for instantiating ORBS for WebAssembly. For example, ORBS 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 using various options quantitatively and qualitatively. 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, and that a combination of static and dynamic slicers achieves the best trade-off in terms of slicing time and slice size.

Original languageEnglish
Article number112453
Pages (from-to)1-20
Number of pages20
JournalJournal of Systems and Software
Volume228
DOIs
Publication statusPublished - Oct 2025

Bibliographical note

Publisher Copyright:
© 2025

Keywords

  • program slicing
  • WebAssembly
  • dynamic program analysis
  • static program analysis

Fingerprint

Dive into the research topics of 'An Empirical Evaluation of Static, Dynamic, and Hybrid Slicing of WebAssembly Binaries'. Together they form a unique fingerprint.

Cite this