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.
|Title of host publication||WOOD|
|Subtitle of host publication||Extending a WebAssembly VM with Out-of-Place Debugging for IoT applications|
|Number of pages||7|
|Publication status||Unpublished - 17 Oct 2021|
|Event|| SPLASH 2021: ACM SIGPLAN conference on Systems, Programming, Languages, and Applications: Software for Humanity - Swissotel Chicago, Chicago, United States|
Duration: 17 Oct 2021 → 22 Oct 2021
|Period||17/10/21 → 22/10/21|