Skip to content

testing: clarify fuzzing terms in documentation #49185

@katiehockman

Description

@katiehockman

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    DocumentationIssues describing a change to documentation.FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.fuzzIssues related to native fuzzing supportokay-after-beta1Used by release team to mark a release-blocker issue as okay to resolve either before or after beta1release-blocker

    Type

    No type

    Projects

    Status

    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions