WOOD: Extending a WebAssembly VM with Out-of-Place Debugging for IoT applications
Internet of Things (IoT) enables collaboration between humans and a diverse range of machines, including embedded devices and sensors. Software development of IoT applications is challenging given the distributed nature of the applications and the limited resources of some devices. This paper focuses on an extension to the WARDuino IoT platform that enhances debugging support, an integral part of the software development cycle.
Popular offline debugging techniques such as logs, dumps, or record & replay are not suitable for IoT devices as they impose too much overhead on devices and often miss contextual information on the root cause of bugs. Online debuggers seem more suitable for IoT since they enable developers to remotely debug devices, but suffer from the probe-effect, non-reproducibility issues and high latency.
In this paper, we explore an online debugging approach that deals with the constraints of IoT devices and enables low latency remote debugging. To this end, we bring ideas of out-of-place debugging, in which the state of a running application is moved to the developer’s machine, to IoT. We implement our out-of-place debugging approach for IoT in WOOD, an extension to the WARDuino VM that executes Web Assembly on embedded devices. The paper focuses on WOOD’s features including capturing, moving and reconstructing debugging sessions, as well as support for accessing remote resources and live code updating.
Tue 19 OctDisplayed time zone: Central Time (US & Canada) change
10:50 - 12:10
|A Small Scheme VM, Compiler and REPL in 4KResearch Paper|
|Lightweight On-Stack Replacement in Languages with Unstructured LoopsResearch Paper|
|WOOD: Extending a WebAssembly VM with Out-of-Place Debugging for IoT applicationsWIP Paper|
Carlos Javier Rojas Castillo Vrije Universiteit Brussel, Matteo Marra Vrije Universiteit Brussel, Jim Bauwens Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit BrusselPre-print