Add experimental fuzz test support for Go 1.17

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
  • go

    The Go programming language

    There’s some ‘got’ and ‘want’ pointers in https://github.com/golang/go/wiki/TestComments .

    But yeah, I didn’t even realize this was a very Google thing :).

  • gopter

    GOlang Property TestER

    Does anyone have experience with Gopter, a Golang Property Based testing library? https://github.com/leanovate/gopter

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • go-fuzz

    Randomized testing for Go

    Go tests and benchmarks are so easy to write and run: just add TestFoo and BenchmarkFoo functions to a bar_test.go file, and "go test" does the rest. It's currently doable, but it requires a 3rd party library (go-fuzz) and a bit of fluffing around. This will make fuzz testing an equally first-class citizen with standard Go tooling (just add FuzzFoo), and as such we'll probably see a lot more people testing with fuzzing.

    I used go-fuzz in GoAWK and it found several bugs (see https://benhoyt.com/writings/goawk/#fuzz-testing), and almost everyone who's done fuzz testing has similar reports. Certainly go-fuzz has found many, many bugs in Go itself: https://github.com/dvyukov/go-fuzz#trophies

    For what it's worth, I wrote an article for LWN about the upcoming support for built-in fuzzing in Go: https://lwn.net/Articles/829242/ (of course, if you want full details, read the full proposal).

  • trophy-case

    🏆 Collection of bugs uncovered by fuzzing Rust code

    Fuzzing is still very relevant in Rust. It tends to find panics rather than segfaults, but that's still bugs.

    https://github.com/rust-fuzz/trophy-case

  • diem

    Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.

    Just to add, we're a heavy user of fuzzing in Diem[1] and we found a good number of bugs thanks to it : )

    https://github.com/diem/diem/

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts