HypoFuzz

Open source smart fuzzing for Python's best testing workflow.

Property-based tests fit cleanly into any Python test suite - while being faster to write, better at finding bugs, and giving clearer design feedback than traditional example-based unit tests. That's why everyone serious about testing Python code uses Hypothesis - from companies like Google and Amazon, to open source projects like Numpy or dateutil, to high-school students and professors of astrophysics.

HypoFuzz is an advanced fuzzing backend for test suites which use Hypothesis.

Because HypoFuzz is designed to run for hours or days - unlike Hypothesis' sub-second budget for unit tests - we can use cutting-edge fuzzing techniques and coverage instrumentation to find even the rarest inputs which trigger an error. Find bugs with continuous fuzzing, so you can keep CI fast and focussed on regressions.

Instead of running a fixed number of examples for each test and then stopping, we can interleave examples for multiple tests, and dynamically prioritise those which are finding new behaviour or bugs. We're not just spending compute time instead of engineer-time, HypoFuzz does so as efficiently as possible - and we're working on quantifying the residual risk so you can make an informed decision about when to stop fuzzing.

Finally, if our web-based dashboard doesn't make it clear what failed, you can replay the minimal failing example for any bug locally just by running the same test. With a shared Hypothesis database, that's all it ever takes!

the newsletter

HypoFuzz is still young, so we'll have plenty to share as we roll out new features - and the first place you'll hear about them is our low-volume newsletter.

Get started

HypoFuzz fits seamlessly into your workflow, with a familiar CLI and a live dashboard to monitor progress. Questions about how to get set up to find bugs, or reproduce bugs you've found? The docs can help.

Read the quickstart guide »

See the demo

There's no substitute for seeing it in action... but if pip install hypofuzz seems too hard, there's a snapshot of the dashboard for you to explore right here.

Here's a dashboard »

Hypothesis

Hypothesis is world-leading library for property-based testing, and used by thousands of companies and Python projects who are serious about finding bugs.

Learn more »