c4-project / c4f

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

Add path recommendations cache #217

Open MattWindsor91 opened 4 years ago

MattWindsor91 commented 4 years ago

While typing out #216, I realised that we could get a lot of utility out of having a path recommendations queue (or cache of some form) inside the fuzzer state. The idea here would be that any insertion would automatically register its path (with the various flags) into the queue, and the payload generator would be able to pick that path instead of generating its own, if applicable.

One problem is that we don't have a theory of path motion, and so anything that could possibly invalidate paths would need to (for now) clear out the path recommendations. (Yep, I'm about to file another issue for that)

MattWindsor91 commented 4 years ago

Since the system for #216 is based on a function from payloads to recommendations, we could tie the two things together, and have the recommendation also suggest paths. The motion problem still applies, as it might take several actions for a recommendation to get executed.