Event-Based Out-of-Place Debugging

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

Research output: Chapter in Book/Report/Conference proceedingConference paper

5 Citations (Scopus)

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 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.
Original languageEnglish
Title of host publicationProceedings of the 19th International Conference on Managed Programming Languages and Runtimes
EditorsElisa Gonzalez Boix, Tobias Wrigstad
PublisherAssociation for Computing Machinery (ACM)
Pages85-97
Number of pages13
ISBN (Electronic)9781450396967
ISBN (Print)978-1-4503-9696-7/22/09
DOIs
Publication statusPublished - 22 Sep 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/

Publication series

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

Conference

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

Bibliographical note

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:
Copyright 2023 Elsevier B.V., All rights reserved.

Fingerprint

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

Cite this