Concolic Multiverse Debugging
Developing and debugging software for microcontrollers can be rather challenging. There are three main challenges in debugging microcontroller software. First, microcontrollers are often programmed in low-level languages such as C or C++. Second, debugging tools are often very limited or simply non-existent. Finally, the non-deterministic nature of sensors connected to the microcontrollers, makes it hard to reproduce bugs.
These challenges make finding and reproducing bugs in microcontroller programs tedious. To overcome these challenges, we propose building a new debugger for microcontrollers based on the ideas of multiverse debugging, which allows all non-deterministic execution paths of a program to be explored. Our approach builds upon two main ideas: Time Travel Debugging and Concolic Debugging. Time Travel Debugging allows a developer to explore an execution both forwards and backwards in time. Concolic Debugging allows a developer to debug a specifically chosen execution of a non-deterministic program. When doing so concolic execution is used to mitigate the problem of state explosion. Our novel approach that combines Time Travel and Concolic Debugging is what we call Concolic Multiverse Debugging.
In this demo we present our prototype Concolic Multiverse Debugger for the WARDuino WebAssembly virtual machine. We show how this prototype can be used to debug a robot powered by an STM32 microcontroller.
Thu 19 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:00 | |||
15:30 20mDemonstration | Concolic Multiverse Debugging DEBT Maarten Steevens Ghent University, Belgium, Tom Lauwaerts Universiteit Gent, Belgium, Christophe Scholliers Universiteit Gent, Belgium DOI | ||
15:50 20mDemonstration | Reversible Debugging of Erlang Programs in CauDEr DEBT DOI | ||
16:10 20mDemonstration | Abstract Debugging with GobPie DEBT Karoliine Holter University of Tartu, Estonia, Juhan Oskar Hennoste University of Tartu, Simmo Saan University of Tartu, Estonia, Patrick Lam University of Waterloo, Vesal Vojdani University of Tartu DOI Media Attached | ||
16:30 20mDemonstration | Localizer - a visual debugging assistant for Python programs DEBT Shehroz Khan Åbo Akademi University, Gaadha Sudheerbabu Åbo Akademi University, Dragos Truscan Åbo Akademi University, Tanwir Ahmad Åbo Akademi University DOI | ||
16:50 10mDay closing | Closing by the workshop organizers DEBT |