Foundations for Constrained Debugging Techniques

Finding software faults in constrained environments with sound out-of-place and multiverse debugging techniques

de‧bug‧ging

/ˌdiːˈbʌɡɪŋ/ verb

Video by Escarabajo come

pro‧gram‧ming lan‧guages

/ˈprəʊ.ɡræm.ɪŋ ˈlæŋ.ɡwɪdʒ/ noun

Microsoft Word
Machine code Apollo 11 code programming languages
Microsoft Word Microsoft Word Spell checker
Clion Clion step by step Clion debugger

for‧mal‧ize

/ˈfɔː.mə.laɪz/ verb

Microsoft Word Microsoft Word Microsoft Word

con‧strained

/kənˈstreɪnd/ adjective

Photo by Vishnu Mohanan on Unsplash

Hardware debuggers

JTAG and OpenOCD

Chapter 3

A remote debugger for WebAssembly

Machine code Apollo 11 code programming languages

Figure. An active debug session of the WARDuino VS Code plugin with the remote debugger.

Figure 3-1. The architecture of the WARDuino virtual machine. The different components of the virtual machine are shown in red; the debugger, live code updater, callback handler, and additional WebAssembly modules.

(1) Runtime instrumentation through a remote debugger and live code updater.

(2) Atomic primitives to access peripherals.

(3) Asynchronous primitives through a lightweight callback handling system.

Chapter 4

Stateful out-of-place debugging

Photo by Vishnu Mohanan on Unsplash

Figure 4-2. Request-driven out-of-place debugging.

Figure 4-10. Event-driven out-of-place debugging.

Chapter 5

Multiverse debugging on microcontrollers

mul‧tiverse

/ˈmʌltɪvəːs/ noun

Figure 5-1. Screenshot of the MIO debugger debugging a small light sensor program.

Chapter 6

Managed Testing

GitHub Issue
WARDuino initial commit GitHub issue date
Latch Output Latch Output test count

Foundations for Constrained Debugging Techniques

Finding software faults in constrained environments with sound out-of-place and multiverse debugging techniques