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...
Uložené v:
| Vydané v: | IEEE/ACM International Conference on Automated Software Engineering : [proceedings] s. 42 - 54 |
|---|---|
| Hlavní autori: | , , , |
| 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 |