Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher

Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher

From The Agile Embedded Podcast by Luca Ingianni, Jeff Gable

May 13, 2026 · 49 min · Episode 96

About this episode

The episode features Paul Butcher discussing advanced verification techniques for safety-critical software, focusing on dynamic analysis and fuzzing.

We sit down with Paul Butcher, Unit Director of Dynamic Analysis at AdaCore, to explore verification techniques beyond basic compliance in safety-critical software. Paul shares his experience from Eurofighter to automated trains, explaining how dynamic analysis—from unit testing to coverage analysis to fuzzing—helps find bugs that traditional testing misses. The conversation dives deep into fuzzing: how it works, why it's so effective at finding corner-case bugs (even in well-tested systems), and the challenges of applying it to embedded systems with timing constraints. Paul introduces an intriguing approach that combines static analysis with targeted fuzzing to automatically triage false positives and generate reproducers. We also touch on formal verification, the role of LLMs in verification workflows, and why the simplest software is often the safest. Whether you're working in aerospace, medical devices, or any safety-critical domain, this episode offers practical insights into building more robust systems.

People in this episode

Hosts: Luca Ingianni, Jeff Gable

Guest: Paul Butcher

Topics covered

  • fuzzing
  • dynamic analysis
  • safety-critical software
  • verification techniques
  • embedded systems
  • bug detection

Keywords

  • dynamic analysis
  • fuzzing
  • safety-critical
  • verification
  • embedded systems
  • bug detection
  • automated testing

Mentioned in this episode

Organizations: AdaCore, Eurofighter

More episodes of The Agile Embedded Podcast

Explore listener stats, chart rankings, contacts and more on the The Agile Embedded Podcast podcast page.