WebAssembly is the newest programming language for the Web. It defines a portable bytecode format that servers as a compilation target for languages such as C, C++, and Rust. Thus, WebAssembly binaries are usually generated using WebAssembly compilers, rather than being written manually. In order to port native code to the Web, WebAssembly compilers need to address the differences between the source and target languages and dissimilarities between their execution environments. WebAssembly compilers are also subject to bugs which can severely hurt software reliability. A deep understanding of the bugs in WebAssembly compilers can help guide compiler developers on where to concentrate development and testing efforts on.
In this paper, we conduct two empirical studies aimed at understanding the characteristics of the bugs encountered in WebAssembly compilers. First, we perform a qualitative study of bugs in the most widely-used WebAssembly compiler, Emscripten. We investigate 146 bug reports in Emscripten that are related to the unique challenges that WebAssembly compilers face when compared with standard compilers. Second, we conduct a quantitative study of 1,316 bugs in four open-source WebAssembly compilers, AssemblyScript, Binaryen, Emscripten, and Wasm-Bindgen. We analyze these bugs along three dimensions: lifecycle, impact, and sizes of bug-inducing inputs and bug fixes. These studies deepen our understanding of WebAssembly compiler bugs. We believe our analysis results will shed light on opportunities to design effective tools for testing and debugging WebAssembly compilers.
Tue 16 NovDisplayed time zone: Hobart change
11:00 - 12:00 | Empirical StudiesIndustry Showcase / Research Papers / Tool Demonstrations at Koala Chair(s): Felipe Fronchetti Virginia Commonwealth University | ||
11:00 20mTalk | Is Historical Data an Appropriate Benchmark for Reviewer Recommendation Systems? A Case Study of the Gerrit Community Research Papers Ian X. Gauthier McGill University, Maxime Lamothe Polytechnique Montréal, Gunter Mussbacher McGill University, Shane McIntosh University of Waterloo | ||
11:20 20mTalk | An Empirical Study of Bugs in WebAssembly Compilers Research Papers Alan Romano University at Buffalo, Xinyue Liu University at Buffalo, SUNY, Yonghwi Kwon University of Virginia, Weihang Wang University at Buffalo, SUNY | ||
11:40 10mTalk | Improving Configurability of Unit-level Continuous Fuzzing: An Industrial Case Study with SAP HANA Industry Showcase Hanyoung Yoo Handong Global University, Jingun Hong SAP Labs, Bader Lucas SAP Labs, Dongwon Hwang SAP Labs, Shin Hong Handong Global University | ||
11:50 5mTalk | IncBL: Incremental Bug Localization Tool Demonstrations Zhou Yang Singapore Management University, Jieke Shi Singapore Management University, Shaowei Wang University of Manitoba, David Lo Singapore Management University |