c4-project / c4f

The C4 Concurrent C Fuzzer
MIT License
14 stars 1 forks source link

Make fuzzer action capping probabilistic #215

Closed MattWindsor91 closed 3 years ago

MattWindsor91 commented 4 years ago

The fuzzer always, at the moment, picks a constant number of actions, presently set at 40. This is problematic for various reasons:

We ideally want to make the number of fuzzer actions the fuzzer takes probabilistic, but still fairly controllable by the user.

I've spent altogether too much time trying to think of a good probability distribution to model this, since the actual thing we're modelling (number of fuzzer actions until bug) depends on a lot of complex interactions we don't fully understand (and, of course, varies between compiler, compiler version, target, type of action, etc etc). I'm imagining it boils down to one or more of:

Maybe something like we use a Poisson distribution to get a baseline number of actions, and then a geometric to induce long tails (this would be fairly straightforward to implement). Hmm.

Thoughts?

MattWindsor91 commented 3 years ago

Fixed as of 15660e900b503607d72ee7674a4a0899dc185049.