Language-Agnostic Debugging for Microcontrollers
With the advent of WebAssembly (Wasm), programming microcontrollers (MCUs) has become possible by leveraging on a wide range of languages (e.g., Rust, AssemblyScript, C, C#, Go, C++) that compile to Wasm. However, current WebAssembly debugging support is still in early development and is designed for applications running on desktop machines, making it too resource-intensive for MCUs. While DWARF and OpenOCD have facilitated language-agnsotic debugging for languages like Rust, Go, and C, these solutions are limited to languages that compile to native machine code and fail to target IoT systems. Consequently, IoT systems often undergo only partial debugging, increasing the likelihood of severe and frequent concurrency and communication bugs.
In this position paper, we explore the challenges and issues associated with language-agnostic debugging. We identify several key requirements for effective language-agnostic debugging, such as the need for over-the-air debugging and the ability to perform distributed debugging operations. Additionally, we present an envisioned language-agnostic debugging approach based on WebAssembly, designed to support the debugging of large-scale distributed IoT systems.
Thu 19 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | |||
13:30 30mTalk | Bug localisation in Model-Based Testing Using Model-Centric Shrinking DEBT Susan van den Broek University of Amsterdam, Ana Oprescu University of Amsterdam, Theo C Ruys Axini B.V. DOI | ||
14:00 30mTalk | A Reversible Debugger for MPI Applications DEBT Mihkel Tiks Tartu University, Ott-Kaarel Martens Tartu University, Eero Vainikko Tartu University, Stefan Kuhn Tartu University DOI | ||
14:30 30mTalk | Language-Agnostic Debugging for Microcontrollers DEBT Carlos Rojas Castillo Vrije Universiteit Brussel, Matteo Marra Nokia Bell Labs, Belgium, Elisa Gonzalez Boix Vrije Universiteit Brussel DOI |