EDWARD: Event-Based Out-of-place Debugging

Robbert Gurdeep Singh, Tom Lauwaerts, Carlos Rojas Castillo, Matteo Marra, Christophe Scholliers, Elisa Gonzalez Boix

Research output: Unpublished contribution to conferencePoster

Abstract

Debugging IoT applications is challenging due to the hardware constraints of IoT devices, making advanced techniques like record-replay debugging impractical. As a result, programmers often rely on manual resets or inefficient and timeconsuming debugging techniques such as printf. Although simulators can help in that regard, their applicability is limited because they fall short of accurately simulating and reproducing the runtime conditions where bugs appear. In this work, we explore a novel debugging approach called event-based out-of-place debugging in which developers can capture a remotely running program and debug it locally on a (more powerful) machine. Our approach thus provides rich debugging features (e.g., step back) that normally would not run on the hardware restricted devices. Two different strategies are offered to deal with resources which cannot be easily transferred (e.g., sensors): pull-based (akin to remote debugging), or push-based (where data updates are pushed to developer’s machine during the debug session). We present EDWARD, an event-based out-of-place debugger prototype, implemented by extending the WARDuino WebAssembly microcontroller Virtual Machine, that has been integrated into Visual Studio Code. To validate our approach, we show how our debugger helps uncover IoT bugs representative of real-world applications through several use-case applications. Initial benchmarks show that event-based out-of-place debugging can drastically reduce debugging latency.
Original languageEnglish
Publication statusPublished - 2022
Event19th International Conference on Managed Programming Languages & Runtimes - Brussels, Belgium, Brussels, Belgium
Duration: 14 Sep 202215 Sep 2022
Conference number: 19
https://soft.vub.ac.be/mplr22/

Conference

Conference19th International Conference on Managed Programming Languages & Runtimes
Abbreviated titleMPLR’22
Country/TerritoryBelgium
CityBrussels
Period14/09/2215/09/22
Internet address

Fingerprint

Dive into the research topics of 'EDWARD: Event-Based Out-of-place Debugging'. Together they form a unique fingerprint.

Cite this