WebAssembly is the standard technology to accelerate web-based applications that need to perform compute-intensive workloads. Lower-level languages such as C, C++, and Rust can be used to implement functionalities that are executed by user agents, providing an alternative to JavaScript for performance-critical tasks. In this domain, safety and portability are key aspects: the former is essential to protect users from malicious modules while the latter enables having the exact same WebAssembly code to run seamlessly across browsers, operating systems and hardware architectures. The safety and portability features of WebAssembly have driven an increasing interest in employing it outside of web-enabled environments and now it is possible to use WebAssembly as a compilation target for applications that can be executed in diverse environments such as desktops, servers, cloud and embedded systems. The conciseness and the generality of the specification have made it possible to use the exact same technology unchanged across heterogeneous devices. This paper explores the current state of the WebAssembly ecosystem, focusing on its potential applicability in embedded environments, where hardware lacks security features such as memory isolation, and portability is generally hard to achieve due to the heterogeneity of the devices.

A Survey of WebAssembly Usage for Embedded Applications: Safety and Portability Considerations

Orlando T.
;
D'Agati L.;Longo F.;Merlino G.
2025-01-01

Abstract

WebAssembly is the standard technology to accelerate web-based applications that need to perform compute-intensive workloads. Lower-level languages such as C, C++, and Rust can be used to implement functionalities that are executed by user agents, providing an alternative to JavaScript for performance-critical tasks. In this domain, safety and portability are key aspects: the former is essential to protect users from malicious modules while the latter enables having the exact same WebAssembly code to run seamlessly across browsers, operating systems and hardware architectures. The safety and portability features of WebAssembly have driven an increasing interest in employing it outside of web-enabled environments and now it is possible to use WebAssembly as a compilation target for applications that can be executed in diverse environments such as desktops, servers, cloud and embedded systems. The conciseness and the generality of the specification have made it possible to use the exact same technology unchanged across heterogeneous devices. This paper explores the current state of the WebAssembly ecosystem, focusing on its potential applicability in embedded environments, where hardware lacks security features such as memory isolation, and portability is generally hard to achieve due to the heterogeneity of the devices.
File in questo prodotto:
Non ci sono file associati a questo prodotto.
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11570/3335413
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact