You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now that we support alternative backends, it'd be great to improve our support for fuzzing with https://github.com/google/atheris. Currently, you can use this with test_fn.hypothesis.fuzz_one_input(), but as for Crosshair the complicated parsing logic is difficult for a fuzzer.
It'd be great to manage the setup and fuzz calls, sensible defaults for instrumentation with the option of user control, using FuzzedDataProvider to implement a PrimitiveProvider. For bonus points, warm-start Atheris by loading from the Hypothesis database (inc. HypoFuzz's keys) and writing out the corpus translated into the FuzzedDataProvider format (difficulty: really annoying until we finish the IR project).
Not sure exactly what interface I'd want, whether it's just a backend and the setup is users' problem, or whether we also provide a test_fn.hypothesis.fuzz_with_atheris(...) helper function. It'd be nice, but require a lot of UX choices we might not want to make.
The text was updated successfully, but these errors were encountered:
See also: Zac-HD/hypofuzz#36 for a HypoFuzz backend. That's likely to perform somewhat better for pure-Python code, but doesn't have the native support for native-code coverage.
Now that we support alternative backends, it'd be great to improve our support for fuzzing with https://github.com/google/atheris. Currently, you can use this with
test_fn.hypothesis.fuzz_one_input()
, but as for Crosshair the complicated parsing logic is difficult for a fuzzer.It'd be great to manage the setup and fuzz calls, sensible defaults for instrumentation with the option of user control, using
FuzzedDataProvider
to implement aPrimitiveProvider
. For bonus points, warm-start Atheris by loading from the Hypothesis database (inc. HypoFuzz's keys) and writing out the corpus translated into theFuzzedDataProvider
format (difficulty: really annoying until we finish the IR project).Not sure exactly what interface I'd want, whether it's just a backend and the setup is users' problem, or whether we also provide a
test_fn.hypothesis.fuzz_with_atheris(...)
helper function. It'd be nice, but require a lot of UX choices we might not want to make.The text was updated successfully, but these errors were encountered: