An Empirical Study of Bugs in WebAssembly Compilers

WebAssembly is the newest programming language for the Web. It defines a portable bytecode format for use as a compilation target for programs developed in high-level languages such as C, C++, and Rust. As a result, WebAssembly binaries are generally created by WebAssembly compilers rather than bein...

Full description

Saved in:
Bibliographic Details
Published in:IEEE/ACM International Conference on Automated Software Engineering : [proceedings] pp. 42 - 54
Main Authors: Romano, Alan, Liu, Xinyue, Kwon, Yonghwi, Wang, Weihang
Format: Conference Proceeding
Language:English
Published: IEEE 01.11.2021
Subjects:
ISSN:2643-1572
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract WebAssembly is the newest programming language for the Web. It defines a portable bytecode format for use as a compilation target for programs developed in high-level languages such as C, C++, and Rust. As a result, WebAssembly binaries are generally created by WebAssembly compilers rather than being written manually. To port native code to the Web, WebAssembly compilers need to address the differences between the source and target languages and dissimilarities in their execution environments. A deep understanding of the bugs in WebAssembly compilers can help compiler developers determine where to focus development and testing efforts. In this paper, we conduct two empirical studies to understand the characteristics of the bugs found in WebAssembly compilers. First, we perform a qualitative analysis of bugs in Emscripten, the most widely-used WebAssembly compiler. We investigate 146 bug reports in Emscripten related to the unique challenges WebAssembly compilers encounter compared with traditional compilers. Second, we provide a quantitative analysis of 1,054 bugs in three open-source WebAssembly compilers, AssemblyScript, Emscripten, and Rustc/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 hope that the findings of our study will shed light on opportunities to design practical tools for testing and debugging WebAssembly compilers.
AbstractList WebAssembly is the newest programming language for the Web. It defines a portable bytecode format for use as a compilation target for programs developed in high-level languages such as C, C++, and Rust. As a result, WebAssembly binaries are generally created by WebAssembly compilers rather than being written manually. To port native code to the Web, WebAssembly compilers need to address the differences between the source and target languages and dissimilarities in their execution environments. A deep understanding of the bugs in WebAssembly compilers can help compiler developers determine where to focus development and testing efforts. In this paper, we conduct two empirical studies to understand the characteristics of the bugs found in WebAssembly compilers. First, we perform a qualitative analysis of bugs in Emscripten, the most widely-used WebAssembly compiler. We investigate 146 bug reports in Emscripten related to the unique challenges WebAssembly compilers encounter compared with traditional compilers. Second, we provide a quantitative analysis of 1,054 bugs in three open-source WebAssembly compilers, AssemblyScript, Emscripten, and Rustc/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 hope that the findings of our study will shed light on opportunities to design practical tools for testing and debugging WebAssembly compilers.
Author Liu, Xinyue
Kwon, Yonghwi
Wang, Weihang
Romano, Alan
Author_xml – sequence: 1
  givenname: Alan
  surname: Romano
  fullname: Romano, Alan
  email: alanroma@buffalo.edu
  organization: University at Buffalo, SUNY
– sequence: 2
  givenname: Xinyue
  surname: Liu
  fullname: Liu, Xinyue
  email: xliu234@buffalo.edu
  organization: University at Buffalo, SUNY
– sequence: 3
  givenname: Yonghwi
  surname: Kwon
  fullname: Kwon, Yonghwi
  email: yongkwon@virginia.edu
  organization: University of Virginia
– sequence: 4
  givenname: Weihang
  surname: Wang
  fullname: Wang, Weihang
  email: weihangw@buffalo.edu
  organization: University at Buffalo, SUNY
BookMark eNotj8tKw0AUQEdRsK39AhHmBxLncSd3ZhlDq0LBRRWXJTO5kYE8SqZd5O8t2NXZHA6cJbsbxoEYe5Yil1K4l3K_MdIoyJVQMncFWsTihi1lURgQWqO-ZQtVgM6kQfXA1ilFL8BaAHTFguly4Jv-GKcY6o7vT-dm5mPLX8-_iceB_5AvU6LedzOvxovX0ZQe2X1bd4nWV67Y93bzVb1nu8-3j6rcZbWyeMp0G7TwxinpgiewoABbG6iGhqyTF5gAzgORQDKucVYE8KFFAejRkV6xp_9uJKLDcYp9Pc2H66P-A-P7Ry4
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/ASE51524.2021.9678776
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library (IEL) (UW System Shared)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 1665403373
9781665403375
EISSN 2643-1572
EndPage 54
ExternalDocumentID 9678776
Genre orig-research
GroupedDBID 29I
6IE
6IF
6IH
6IK
6IL
6IM
6IN
6J9
AAJGR
AAWTH
ABLEC
ACREN
ADYOE
ADZIZ
AFYQB
ALMA_UNASSIGNED_HOLDINGS
AMTXH
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
ID FETCH-LOGICAL-a287t-3fc30b59219cbe484247f8cea4de891a4d5c49b4ee07e59d980c4bcf7047b79e3
IEDL.DBID RIE
ISICitedReferencesCount 33
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000779309000007&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 03:02:55 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a287t-3fc30b59219cbe484247f8cea4de891a4d5c49b4ee07e59d980c4bcf7047b79e3
PageCount 13
ParticipantIDs ieee_primary_9678776
PublicationCentury 2000
PublicationDate 2021-Nov.
PublicationDateYYYYMMDD 2021-11-01
PublicationDate_xml – month: 11
  year: 2021
  text: 2021-Nov.
PublicationDecade 2020
PublicationTitle IEEE/ACM International Conference on Automated Software Engineering : [proceedings]
PublicationTitleAbbrev ASE
PublicationYear 2021
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssib048844796
ssj0051577
Score 2.3420007
Snippet WebAssembly is the newest programming language for the Web. It defines a portable bytecode format for use as a compilation target for programs developed in...
SourceID ieee
SourceType Publisher
StartPage 42
SubjectTerms C++ languages
Codes
compiler
Computer bugs
Debugging
High level languages
Ports (computers)
qualitative study
quantitative study
Statistical analysis
WebAssembly
Title An Empirical Study of Bugs in WebAssembly Compilers
URI https://ieeexplore.ieee.org/document/9678776
WOSCitedRecordID wos000779309000007&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LTwIxEJ4A8eAJFYzv9ODRhd1tl7ZHNBBPhESN3Mi2OzUkshAeJvx7p7sLxsSLl7Zp0qadtjN9ffMB3DtthVQiDkxPhp7CTAfGJDwgS-tMaB0dSdKCbEKORmoy0eMaPBywMIhYfD7Djk8Wb_nZwm79VVlXk2aVsleHOoUlVms_d2geClG4jiu1MJlpKSvEThTqbv9lQFmxv0WJo05V0S9GlcKgDJv_a8oJtH-QeWx8sDmnUMP8DJp7agZWrdQW8H7OBvPlrHAAwvxnwR1bOPa4_VizWc7e0fjX3rn53DFfmFTDat2Gt-Hg9ek5qPgRgpTOOZuAO8tDk2hSOtagIIkL6ZTFVGSodERRYoU2AjGUmOhMq9AKY50MhTRSIz-HRr7I8QKYiXVGazNV1nDawtGYoYo49jLrMOKOX0LLy2C6LF1gTKvuX_2dfQ3HXswlZO8GGpvVFm_hyH5tZuvVXTFu37O2lvQ
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEB5qFfRUtRXf5uDRbbObbLM5VqlUrKVgxd7KJjuRgt2WPoT-e5PdbUXw4ikhkJBMkpkkk28-gFsjNRcRDzzVFNRRmElPqZB51tIaRbWxV5I4I5sQvV40HMp-Ce62WBhEzD6fYd1lM19-MtUr91TWkFazCtHcgd2Q84DmaK3N6rErkfMseFyuh62hFqLA7PhUNlqvbVsUuHeUwK8XTf3iVMlMymPlf505hNoPNo_0t1bnCEqYHkNlQ85Air1aBdZKSXsyG2chQIj7LrgmU0PuVx8LMk7JOyrn752ozzVxla1ymC9q8PbYHjx0vIIhwYvtTWfpMaMZVaG0akcr5FbmXJhIY8wTjKRvk1BzqTgiFRjKREZUc6WNoFwoIZGdQDmdpngKRAUysbszjrRi9hBnZw0jn2Ez0QZ9ZtgZVJ0MRrM8CMaoGP7538U3sN8ZvHRH3afe8wUcOJHnAL5LKC_nK7yCPf21HC_m19kcfgPBeJo7
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=proceeding&rft.title=IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%3A+%5Bproceedings%5D&rft.atitle=An+Empirical+Study+of+Bugs+in+WebAssembly+Compilers&rft.au=Romano%2C+Alan&rft.au=Liu%2C+Xinyue&rft.au=Kwon%2C+Yonghwi&rft.au=Wang%2C+Weihang&rft.date=2021-11-01&rft.pub=IEEE&rft.eissn=2643-1572&rft.spage=42&rft.epage=54&rft_id=info:doi/10.1109%2FASE51524.2021.9678776&rft.externalDocID=9678776