mirror of https://github.com/golang/go.git
Add a new subdirectory 'signature-fuzzer' to the x/tools/cmd directory, with contents: internal/fuzz-generator Guts of the signature fuzzer fuzz-driver Simple driver for the fuzzer fuzz-runner Test harness for doing iterative fuzzing This set of tools is primarily of interest to compiler developers as opposed to end users. The fuzzer generates random Go code with "interesting" randomly chosen function signatures (random numbers of parameters of randomly generated types), then emits code to call these random functions with known inputs, as well as code that checks to make sure parameter values were passed correctly and that returns worked. The generator tries to include odd scenarios and corner cases (e.g. reflect calls, recursion, blank params, zero sized types, etc) so as to explore all the nooks and crannies of the compiler. This fuzzer was used during the bringup of the new register ABI (as part of Go 1.17) to identify odd corner cases and flush out bugs. It may be useful in the future if we have to support new ABI versions or bring up register ABIs on new architectures. See the README.md for more details. Change-Id: Icbc89ddd07c3909a44a005deab43720c7a0dffde Reviewed-on: https://go-review.googlesource.com/c/tools/+/350329 Reviewed-by: Jeremy Faller <jeremy@golang.org> Trust: Than McIntosh <thanm@google.com> Run-TryBot: Than McIntosh <thanm@google.com> gopls-CI: kokoro <noreply+kokoro@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
||
|---|---|---|
| .. | ||
| auth | ||
| benchcmp | ||
| bundle | ||
| callgraph | ||
| compilebench | ||
| cover | ||
| digraph | ||
| eg | ||
| file2fuzz | ||
| fiximports | ||
| getgo | ||
| go-contrib-init | ||
| godex | ||
| godoc | ||
| goimports | ||
| gomvpkg | ||
| gorename | ||
| gotype | ||
| goyacc | ||
| guru | ||
| html2article | ||
| present | ||
| present2md | ||
| signature-fuzzer | ||
| splitdwarf | ||
| ssadump | ||
| stress | ||
| stringer | ||
| toolstash | ||