Future Considerations

Although we have created a fuzzer that may find some bugs if given enough time, there are some improvements you could apply on your own. Think of this as a possible homework assignment.

Code Coverage

Code coverage is a metric that measures how much code you execute when testing a target application. Fuzzing expert Charlie Miller has empirically proven that an increase in code coverage will yield an increase in the number of bugs you find.[38] We can't argue with that logic! A simple way for you to measure code coverage is to use any of the aforementioned debuggers and set soft breakpoints on all functions within the target executable. Simply keeping a counter of how many functions get hit with each test case will give you an ...

Get Gray Hat Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.