aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/fuzzer/stats.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/fuzzer: add stats for overflowed coverage/compsAlexander Potapenko2025-08-051-0/+6
|
* pkg/manager: show number of times coverage for each call has overflowedDmitry Vyukov2024-11-201-2/+18
| | | | | If the overflows happen often, it's bad. Add visibility into this.
* pkg/fuzzer: display hints job infoAleksandr Nogikh2024-09-021-2/+3
| | | | This will let us gain even more insight into what the fuzzer is doing.
* syz-manager: display job lists for triage and smash jobsAleksandr Nogikh2024-08-281-4/+6
| | | | This will let us understand better what exactly the fuzzer was doing.
* pkg/stat: rename package name to singular formDmitry Vyukov2024-07-241-52/+52
| | | | | | | | Go package names should generally be singular form: https://go.dev/blog/package-names https://rakyll.org/style-packages https://groups.google.com/g/golang-nuts/c/buBwLar1gNw
* pkg/stats: rename Create to NewDmitry Vyukov2024-07-241-19/+19
| | | | | | New is more idiomatic name and is shorter (lines where stats.Create is used are usually long, so making them a bit shorter is good).
* pkg/fuzzer: optimize smash jobsDmitry Vyukov2024-07-021-3/+5
| | | | | | | | | 1. Run only 25 mutations during smash. 2. Run collide during normal fuzzing rather than during smashing. 3. Run hints and fault injection before random mutations and order hints/fault injection jobs. 4. Random mutations still run round-robin w/o ordering to give better diversity.
* pkg/fuzzer: separate fault injection statsAleksandr Nogikh2024-06-031-0/+3
| | | | | Let exec smash describe purely the mutation part of the smash job. Introduce a separate stat for fault injection executions.
* syz-manager: add corpus triage modeDmitry Vyukov2024-06-031-20/+23
| | | | | | | | Add corpus triage mode and support it in testbed. This is useful to benchmark just the triage phase w/o any subsequent fuzzing. First, fuzzing is more random. Second, if triage duration is different in different versions, then they will do different amount of fuzzing in fixed testbed time.
* pkg/fuzzer: restore printing of triage queue to consoleDmitry Vyukov2024-04-101-1/+1
|
* all: refactor statsDmitry Vyukov2024-04-091-35/+46
| | | | | | | Add ability for each package to create and export own stats. Each stat is self-contained, describes how it should be presented, and there is not need to copy them from one package to another. Stats also keep historical data and allow building graphs over time.
* all: move fuzzer to the hostAleksandr Nogikh2024-03-251-3/+23
| | | | | | | | | | | | Instead of doing fuzzing in parallel in running VM, make all decisions in the host syz-manager process. Instantiate and keep a fuzzer.Fuzzer object in syz-manager and update the RPC between syz-manager and syz-fuzzer to exchange exact programs to execute and their resulting signal and coverage. To optimize the networking traffic, exchange mostly only the difference between the known max signal and the detected signal.
* pkg/fuzzer: factor out the fuzzing engineAleksandr Nogikh2024-03-121-0/+26
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.