aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/fuzzer/prio_queue.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/fuzzer: use queue layersAleksandr Nogikh2024-05-161-95/+0
| | | | | | | | | | | Instead of relying on a fuzzer-internal priority queue, utilize stackable layers of request-generating steps. Move the functionality to a separate pkg/fuzzer/queue package. The pkg/fuzzer/queue package can be reused to add extra processing layers on top of the fuzzing and to combine machine checking and fuzzing execution pipelines.
* pkg/fuzzer: mix in exec fuzz and exec genAleksandr Nogikh2024-03-251-0/+8
| | | | | | | | | | | | | The fuzzer may become too busy doing potentially very long hint jobs, while we want it to also keep exploring other parts of the input space. If there are only smash and hint jobs left, ignore them for 33% of executions. Reduce the number of smash iterations: 1) If new coverage is found, we will likely repeat the smash job with a similar program. 2) We mostly do the same during exec fuzz anyway.
* pkg/fuzzer: remove async priority queue operationsAleksandr Nogikh2024-03-221-21/+8
| | | | We don't need them.
* pkg/fuzzer: factor out the fuzzing engineAleksandr Nogikh2024-03-121-0/+100
This is the first step for #1541. Move the fuzzing engine that used to be interleaved with other syz-fuzzer code into a separate package. For now, the algorithm is more or less the same as it was, the only difference is that a pkg/fuzzer instance scales to the available computing power. Add an executor-based test that performs real fuzzing.