Hypothesis can detect when a strategy is exhausted, i.e. when all possible values have been tested, and will stop early in that case. For unit-testing-like workloads this typically only happens for simple strategies such as st.booleans() or small ranges of st.integers(), but in a long fuzzing run it could conceivably happen for considerably larger sets of values.
While not a high priority, it would be nice to implement this for HypoFuzz if it's possible to do so without consuming too much memory.
Hypothesis can detect when a strategy is exhausted, i.e. when all possible values have been tested, and will stop early in that case. For unit-testing-like workloads this typically only happens for simple strategies such as
st.booleans()
or small ranges ofst.integers()
, but in a long fuzzing run it could conceivably happen for considerably larger sets of values.While not a high priority, it would be nice to implement this for HypoFuzz if it's possible to do so without consuming too much memory.
See: https://mboehme.github.io/paper/ICSE23.Effectiveness.pdf