Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher
Paul Butcher, Unit Director of Dynamic Analysis at AdaCore, explains how dynamic analysis techniques like fuzzing find corner-case bugs that traditional unit testing misses in high-integrity software. He details the mechanics of fuzzing, including mutation engines and anomaly detection, and discusses challenges with timing and concurrency in embedded systems, citing success with the NH90 avionics MIL bus. Butcher also describes combining static analysis with targeted fuzzing to automatically triage false positives and generate reproducers, while touching on formal verification using SPARK for the London Underground's Victoria line and the cautious role of LLMs in verification workflows.