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.Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


