Embedded Toolbox: Fuzz Testing Bugs in Safety-Critical Embedded Software

Опубликовано: 16 Март 2026
на канале: Embedded Computing Design
656
10

On average, software engineers spend 20-25 percent of the development lifecycle on testing, and potentially much more when working on safety-critical systems. The worst part may be that your standard unit tests aren’t able to provide 100% code coverage.

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.

Check out Paul's code for this demo on Github at https://github.com/TechieLew/mach_cal...

Learn more about AdaCore's GNATfuzz solution at https://www.adacore.com/dynamic-analy...