Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

testing: clarify fuzzing terms in documentation #49185

Closed
katiehockman opened this issue Oct 27, 2021 · 4 comments
Closed

testing: clarify fuzzing terms in documentation #49185

katiehockman opened this issue Oct 27, 2021 · 4 comments
Labels
Documentation FrozenDueToAge fuzz Issues related to native fuzzing support NeedsFix The path to resolution is known, but the work has not been done. okay-after-beta1 Used by release team to mark a release-blocker issue as okay to resolve either before or after beta1 release-blocker
Milestone

Comments

@katiehockman
Copy link
Contributor

katiehockman commented Oct 27, 2021

We need to clarify our docs and code to be clear about all of the terms we use for fuzzing.

I propose these changes:

  • “fuzz test” is the function in *_test.go which accepts a *testing.F, e.g. func FuzzFoo(f *testing.F)
  • “fuzz target” should be the function that is being fuzzed, i.e. the fn passed to f.Fuzz. This is a term that's used outside the context of Go (e.g. [1], [2]), and across the board it refers to the function that is being fuzzed. We previously called what we are now calling the "fuzz test" the "fuzz target", but we should change this to be more consistent with the wider fuzzing community.
  • “crasher” is slightly less important to get 100% consistent, but would be nice to rethink. Perhaps “failure” or “failing input” feels more natural and less jargony, so those are decent options.
@katiehockman katiehockman added Documentation release-blocker okay-after-beta1 Used by release team to mark a release-blocker issue as okay to resolve either before or after beta1 fuzz Issues related to native fuzzing support labels Oct 27, 2021
@katiehockman katiehockman added this to the Go1.18 milestone Oct 27, 2021
@dmitshur dmitshur added the NeedsFix The path to resolution is known, but the work has not been done. label Oct 29, 2021
@gopherbot
Copy link

Change https://golang.org/cl/362794 mentions this issue: all: update terminology for fuzzing

gopherbot pushed a commit that referenced this issue Nov 11, 2021
This change doesn't modify any functionality.
It also doesn't update all of the comments and
variable names of the internal code, but everything
user facing should be correct.

Updates #49185

Change-Id: Ia8b2c94b89ba45897c4085ea0c17a3d8896f7ec7
Reviewed-on: https://go-review.googlesource.com/c/go/+/362794
Trust: Katie Hockman <katie@golang.org>
Run-TryBot: Katie Hockman <katie@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
@gopherbot
Copy link

Change https://golang.org/cl/363514 mentions this issue: go.dev/_content/blog: update fuzzing terminology

@gopherbot
Copy link

Change https://golang.org/cl/363515 mentions this issue: design/draft-fuzzing.md: update terminology

gopherbot pushed a commit to golang/proposal that referenced this issue Nov 12, 2021
This change doesn't include a full review of
the text, nor make any attempts to get it fully
up-to-date with reality today. However, it's
important that our documents, including
historical ones, are consistent in their
terminology.

Updates golang/go#49185

Change-Id: I194d518e10a46e6e3378a381fb3549846f8bca9e
Reviewed-on: https://go-review.googlesource.com/c/proposal/+/363515
Trust: Katie Hockman <katie@golang.org>
Run-TryBot: Katie Hockman <katie@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
gopherbot pushed a commit to golang/website that referenced this issue Nov 12, 2021
Updates golang/go#49185

Change-Id: I9b07c0e0a1c034dc49f86c28a9e336458be18bab
Reviewed-on: https://go-review.googlesource.com/c/website/+/363514
Trust: Katie Hockman <katie@golang.org>
Run-TryBot: Katie Hockman <katie@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Website-Publish: DO NOT USE <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@katiehockman
Copy link
Contributor Author

This has now been updated in the docs for the testing and cmd/go package, the blog post, and the original design draft.

passionSeven added a commit to passionSeven/website that referenced this issue Oct 18, 2022
Updates golang/go#49185

Change-Id: I9b07c0e0a1c034dc49f86c28a9e336458be18bab
Reviewed-on: https://go-review.googlesource.com/c/website/+/363514
Trust: Katie Hockman <katie@golang.org>
Run-TryBot: Katie Hockman <katie@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Website-Publish: DO NOT USE <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@golang golang locked and limited conversation to collaborators Nov 12, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Documentation FrozenDueToAge fuzz Issues related to native fuzzing support NeedsFix The path to resolution is known, but the work has not been done. okay-after-beta1 Used by release team to mark a release-blocker issue as okay to resolve either before or after beta1 release-blocker
Projects
Status: No status
Development

No branches or pull requests

3 participants