nilaway VS revive

Compare nilaway vs revive and see what are their differences.

nilaway

Static analysis tool to detect potential nil panics in Go code (by uber-go)

revive

🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint (by mgechev)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
nilaway revive
3 10
2,808 4,632
5.6% -
8.7 8.3
7 days ago 6 days ago
Go Go
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

nilaway

Posts with mentions or reviews of nilaway. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-04.
  • Go: What We Got Right, What We Got Wrong
    22 projects | news.ycombinator.com | 4 Jan 2024
    I would have more respect if they at least admitted to the flawed type system but instead say it is not a problem. It is disappointing to see past mistakes repeated in a new programming language. Even the Java language creator was humble enough to admit fault for the null pointer problem. The Go devs do not have such humility.

    https://github.com/uber-go/nilaway

  • Practical nil panic detection for Go
    4 projects | news.ycombinator.com | 18 Nov 2023
    We'd be interested in the general characteristics of the most common ones you are seeing. If you have a chance to file a couple issues (and haven't done so yet): https://github.com/uber-go/nilaway/issues

    We definitely have gotten some useful reports there already since the blog post!

    We are aware of a number of sources of false positives and actively trying to drive them down (prioritizing the patterns that are common in our codebase, but very much interested in making the tool useful to others too!).

    Some sources of false positives are fundamental (any non-trivial type system will forbid some programs which are otherwise safe in ways that can't be proven statically), others need complex in-development features for the tool to understand (e.g. contacts, such as "foo(...) returns nil iff its third argument is nil"), and some are just a matter of adding a library model or similar small change and we just haven't run into it ourselves.

revive

Posts with mentions or reviews of revive. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-09.

What are some alternatives?

When comparing nilaway and revive you can also consider the following projects:

reviewdog - 🐶 Automated code review tool integrated with any code analysis tools regardless of programming language

go-critic - The most opinionated Go source code linter for code audit.

syft - CLI tool and library for generating a Software Bill of Materials from container images and filesystems

go-tools - Staticcheck - The advanced Go linter

go - The Go programming language

emusak-ui - This is a tool which allows you to download saves or mods for Nintendo Switch emulators using a compatible Emusak backend

grype - A vulnerability scanner for container images and filesystems

wrapcheck - A Go linter to check that errors from external packages are wrapped

tfsec - Security scanner for your Terraform code

ALVR - Stream VR games from your PC to your headset via Wi-Fi

clair - Vulnerability Static Analysis for Containers

ireturn - Accept Interfaces, Return Concrete Types