Table of Contents
Fetching ...

Issues and Their Causes in WebAssembly Applications: An Empirical Study

Muhammad Waseem, Teerath Das, Aakash Ahmad, Peng Liang, Tommi Mikkonen

TL;DR

This paper addresses the practical problem of understanding WebAssembly (Wasm) issues by mining real developer discussions from GitHub and Stack Overflow. Using a three-phase empirical method and thematic analysis, it derives taxonomies of 120 issue types and 278 root-cause types (across 9 issue categories and 10 cause categories, respectively). The top issue categories are Infrastructure/Compatibility, Language Features/Documentation, and Code Implementation/Build, with root causes dominated by syntactic/semantic errors, configuration/compatibility issues, and operational limitations. The study provides empirically grounded guidelines, a replication data package, and highlights areas for tooling, language, and ecosystem improvements to advance reliable Wasm-based development and deployment.

Abstract

WebAssembly (Wasm) is a binary instruction format designed for secure and efficient execution within sandboxed environments -- predominantly web apps and browsers -- to facilitate performance, security, and flexibility of web programming languages. In recent years, Wasm has gained significant attention from the academic research community and industrial development projects to engineer high-performance web applications. Despite the offered benefits, developers encounter a multitude of issues rooted in Wasm (e.g., faults, errors, failures) and are often unaware of their root causes that impact the development of web applications. To this end, we conducted an empirical study that mines and documents practitioners' knowledge expressed as 385 issues from 12 open-source Wasm projects deployed on GitHub and 354 question-answer posts via Stack Overflow. Overall, we identified 120 types of issues, which were categorized into 19 subcategories and 9 categories to create a taxonomical classification of issues encountered in Wasm-based applications. Furthermore, root cause analysis of the issues helped us identify 278 types of causes, which have been categorized into 29 subcategories and 10 categories as a taxonomy of causes. Our study led to first-of-its-kind taxonomies of the issues faced by developers and their underlying causes in Wasm-based applications. The issue-cause taxonomies -- identified from GitHub and SO, offering empirically derived guidelines -- can guide researchers and practitioners to design, develop, and refactor Wasm-based applications.

Issues and Their Causes in WebAssembly Applications: An Empirical Study

TL;DR

This paper addresses the practical problem of understanding WebAssembly (Wasm) issues by mining real developer discussions from GitHub and Stack Overflow. Using a three-phase empirical method and thematic analysis, it derives taxonomies of 120 issue types and 278 root-cause types (across 9 issue categories and 10 cause categories, respectively). The top issue categories are Infrastructure/Compatibility, Language Features/Documentation, and Code Implementation/Build, with root causes dominated by syntactic/semantic errors, configuration/compatibility issues, and operational limitations. The study provides empirically grounded guidelines, a replication data package, and highlights areas for tooling, language, and ecosystem improvements to advance reliable Wasm-based development and deployment.

Abstract

WebAssembly (Wasm) is a binary instruction format designed for secure and efficient execution within sandboxed environments -- predominantly web apps and browsers -- to facilitate performance, security, and flexibility of web programming languages. In recent years, Wasm has gained significant attention from the academic research community and industrial development projects to engineer high-performance web applications. Despite the offered benefits, developers encounter a multitude of issues rooted in Wasm (e.g., faults, errors, failures) and are often unaware of their root causes that impact the development of web applications. To this end, we conducted an empirical study that mines and documents practitioners' knowledge expressed as 385 issues from 12 open-source Wasm projects deployed on GitHub and 354 question-answer posts via Stack Overflow. Overall, we identified 120 types of issues, which were categorized into 19 subcategories and 9 categories to create a taxonomical classification of issues encountered in Wasm-based applications. Furthermore, root cause analysis of the issues helped us identify 278 types of causes, which have been categorized into 29 subcategories and 10 categories as a taxonomy of causes. Our study led to first-of-its-kind taxonomies of the issues faced by developers and their underlying causes in Wasm-based applications. The issue-cause taxonomies -- identified from GitHub and SO, offering empirically derived guidelines -- can guide researchers and practitioners to design, develop, and refactor Wasm-based applications.
Paper Structure (16 sections, 1 equation, 4 figures, 2 tables)

This paper contains 16 sections, 1 equation, 4 figures, 2 tables.

Figures (4)

  • Figure 1: Example: Github based Issue and its Cause in Wasm
  • Figure 2: Overview of the research method
  • Figure 3: A Taxonomy of Issues in Wasm Applications
  • Figure 4: A Taxonomy of Causes of Issues in Wasm Applications