arrow
Return

Detecting WebAssembly Runtime Bugs With Grammar-Guided Program Mutation

delete2025-01-01
delete0
PRE
AI
L
Lu, Xinyi
Z
Zhide Zhou
X
Xiaochen Li
J
Jifeng Xuan
W
Wu, Hao
H
He Jiang
Z
Zhilei Ren *
DOI:10.1109/TR.2025.3614352delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
WebAssembly has been steadily gaining popularity in recent years, as an industry-wide collaborative effort to combine near-native performance with the convenience of high-level languages. It is crucial to establish effective testing methods for WebAssembly runtime, since all WebAssembly programs depend on the quality of the runtime. Meanwhile, fuzz testing is an effective approach for detecting bugs in compilers and runtimes, and has achieved promising results. However, we still face two major challenges in applying fuzz testing to detect bugs in WebAssembly runtime, i.e., the valid test program challenge and the diverse test program challenge. We propose Wagen, a grammar-guided program mutation approach. To tackle the valid test program challenge, Wagen incorporates a set of custom mutation rules designed to mutate the leaf nodes and subtrees of these syntax trees to iteratively generate new WebAssembly program variants. To tackle the diverse test program challenge, Wagen utilizes coverage information, and employs the Markov Chain Monte Carlo sampling to guide the mutation rule selection procedure. Finally, Wagen uses differential testing to identify WebAssembly runtime bugs. Extensive experiments demonstrate that Wagen outperforms the existing techniques in terms of bug detection capability and code coverage. Within six-month evaluations, we have reported 34 bugs on five widely used open-source WebAssembly runtimes, of which 18 have been confirmed.
Keywords:
Webassembly
Runtime
Computer bugs
Testing
Fuzzing
Codes
Syntactics
Security
Browsers
Software
Differential testing
fuzz testing
grammar-guided mutation
test program generation
WebAssembly runtime testing

Journal

IEEE Transactions on Reliability cover
IEEE Transactions on Reliability
IF:
5.7
Papers:
2.8K
Citations:
8.5K

Organization

D
Dalian University of Technology
Scholars:
6.0W
Papers: 4.4W
Citations: 5.5W
W
wuhan university
Scholars:
8.1W
Papers: 5.8W
Citations: 70
Cited Papers

Cited Papers

Fuzz4All: Universal Fuzzing with Large Language Models
err2024-04-12
err0
errOAAI
errChunqiu Steven Xia; Matteo Paltenghi; Jia Le Tian; Michael Pradel; Lingming Zhang
errShare
errSave
Detecting C plus plus Compiler Front-End Bugs via Grammar Mutation and Differential Testing
err2023-03-01
err6
errOAAI
errTu, Haoxin; Jiang, He; Zhou, Zhide; Tang, Yixuan; Ren, Zhilei; Qiao, Lei; Jiang, Lingxiao
errShare
errSave
Evolutionary Grammar-Based Fuzzing
err2020-09-30
err0
PREAI
errMartin Eberlein; Yannic Noller; Thomas Vogel; Lars Grunske
errShare
errSave
Detecting Compiler Warning Defects Via Diversity-Guided Program Mutation
err2022-11-01
err13
PREAI
errTang, Yixuan; Jiang, He; Zhou, Zhide; Li, Xiaochen; Ren, Zhilei; Kong, Weiqiang
errShare
errSave
JITfuzz: Coverage-guided Fuzzing for JVM Just-in-Time Compilers
err2023-05-01
err0
PREAI
errMingyuan Wu; Minghai Lu; Heming Cui; Junjie Chen; Yuqun Zhang; Lingming Zhang
errShare
errSave
researcher View more