Event-Based Out-of-Place Debugging

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

Onderzoeksoutput: Conference paper

1 Citaat (Scopus)


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 time-consuming 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.
Originele taal-2English
TitelProceedings of the 19th International Conference on Managed Programming Languages and Runtimes
RedacteurenElisa Gonzalez Boix, Tobias Wrigstad
UitgeverijAssociation for Computing Machinery (ACM)
Aantal pagina's13
ISBN van elektronische versie9781450396967
ISBN van geprinte versie978-1-4503-9696-7/22/09
StatusPublished - 22 sep 2022
Evenement19th International Conference on Managed Programming Languages & Runtimes - Brussels, Belgium, Brussels, Belgium
Duur: 14 sep 202215 sep 2022
Congresnummer: 19

Publicatie series

NaamMPLR 2022 - Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes


Conference19th International Conference on Managed Programming Languages & Runtimes
Verkorte titelMPLR’22
Internet adres

Bibliografische nota

Funding Information:
Tom Lauwaerts is funded by the Research Foundation Flanders (FWO) with file number G030320N. Robbert Gurdeep Singh is funded by a doctoral fellowship from the Special Research Fund (BOF) of UGent (BOF18/DOC/327). We would also like to thank the anonymous reviewers for their feedback.

Publisher Copyright:
© 2022 ACM.

Copyright 2023 Elsevier B.V., All rights reserved.


Duik in de onderzoeksthema's van 'Event-Based Out-of-Place Debugging'. Samen vormen ze een unieke vingerafdruk.

Citeer dit