Characterizing and Detecting WebAssembly Runtime Bugs

Yixuan Zhang, Shangtong Cao, Haoyu Wang, Zhenpeng Chen, Xiapu Luo, Dongliang Mu, Yun Ma, Gang Huang, Xuanzhe Liu

Research output: Journal article publicationJournal articleAcademic researchpeer-review

Abstract

WebAssembly (abbreviated WASM) has emerged as a promising language of the Web and also been used for a wide spectrum of software applications such as mobile applications and desktop applications. These applications, named WASM applications, commonly run in WASM runtimes. Bugs in WASM runtimes are frequently reported by developers and cause the crash of WASM applications. However, these bugs have not been well studied. To fill in the knowledge gap, we present a systematic study to characterize and detect bugs in WASM runtimes. We first harvest a dataset of 311 real-world bugs from hundreds of related posts on GitHub. Based on the collected high-quality bug reports, we distill 31 bug categories of WASM runtimes and summarize their common fix strategies. Furthermore, we develop a pattern-based bug detection framework to automatically detect bugs in WASM runtimes. We apply the detection framework to seven popular WASM runtimes and successfully uncover 60 bugs that have never been reported previously, among which 13 have been confirmed and 9 have been fixed by runtime developers.
Original languageEnglish
Pages (from-to)1-29
JournalACM Transactions on Software Engineering and Methodology
Volume33
Issue number2
Publication statusPublished - Feb 2024

Fingerprint

Dive into the research topics of 'Characterizing and Detecting WebAssembly Runtime Bugs'. Together they form a unique fingerprint.

Cite this