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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:IEEE/ACM International Conference on Automated Software Engineering : [proceedings] s. 42 - 54
Hlavní autori: Romano, Alan, Liu, Xinyue, Kwon, Yonghwi, Wang, Weihang
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: IEEE 01.11.2021
Predmet:
ISSN:2643-1572
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
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 Proceedings Order Plan All Online (POP All Online) 1998-present by volume
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 Electronic Library (IEL)
  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.3420918
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/eLvHCXMwlV3Na8IwFH-o7LCT23Tsmxx2XDS1qUmObig7DBH25U2a9HUIs4ofA__7vbTVMdhllzQEGpI0fb-8JL_fA7i1tIzQLk54HDnkXpGK6yiRPNYpgaEhBM4FTN-e1HCox2MzqsDdnguDiPnlM2z5bH6Wn8zdxm-VtQ1ZVqW6VahSWnC1dnOH5qGUuXRcYYUJppUqGTuBMO3ec5-KOn4XpRO0yop-RVTJAWVQ_19TjqD5w8xjoz3mHEMFsxOo70IzsPJPbUDYy1h_tpjmAiDMXxbcsnnK7jcfKzbN2Dtaf9o7s59b5l8m07BcNeF10H95eORlfAQek5-z5mHqQmEjQ0bHWZRadqRKtcNYJqhNQI_ISWMlolAYmcRo4aR1qRJSWWUwPIVaNs_wDJgiT1hYqkRZJwNLPoSyqYqclql0XSvOoeHHYLIoJDAmZfcv_i6-hEM_zAVl7wpq6-UGr-HAfa2nq-VN_t2-AcKWlv8
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PT8IwFH5BNNETKhh_24NHB2N7o-0RDQQjEhJRuZG1ezMkMgg_TPjvbbeBMfHiaU2TNttr-769tt_3AG6V-Y0QOoycMNDkWEUqRwQROqGIDRhKg8CpgOlbl_d6YjiU_QLcbbkwRJRePqOqLaZn-dFUr-xWWU0az8p5Ywd2A0TPzdham9ljZiJiKh6X-WED1JznnJ26K2vNl5ap8uw-ilev5l39yqmSQkq79L-XOYTKDzeP9beocwQFSo6htEnOwPK1Wga_mbDWZDZOJUCYvS64ZtOY3a8-FmycsHdS9rx3oj7XzDY2zmG-qMBruzV46Dh5hgQnNJHO0vFj7bsqkMbtaEUo0EMeC00hRiRk3TwCjVIhkcspkJEUrkalY-4iV1ySfwLFZJrQKTBuYmFXmU640lhXJorgKuaBFhijbij3DMrWBqNZJoIxyj___O_qG9jvDJ67o-5j7-kCDqzJMwLfJRSX8xVdwZ7-Wo4X8-t0DL8B0NiaRg
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