Embedded Toolbox: Fuzzing Out Bugs in Safety-Critical Embedded Software

September 01, 2022


The myth 100% code coverage is quickly debunked by the mere existence of fuzz testing, a technique that feeds randomly generated inputs to an application to more accurately represent how it might perform in the real world. Of course, it can also be used alongside dynamic program analysis tools to expose bugs and validate traditional static analysis tests along the way.

Paul Butcher, a Senior Software Engineer & Lead HICLASS Engineer at AdaCore, resolves that issue with GNATfuzz, a fuzzing tool that automates the generation of fuzzing test harnesses, starting corpuses of input data, and the process of analyzing subprograms for places to inject fuzzy code. The new tool slots in alongside other code analysis and test tools to initiate a virtuous cycle of regression testing that enhances code coverage and can make safety-critical software as safe as possible.

Tune in to this episode of Embedded Toolbox to learn more.