awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
uber-go avatar

uber-go/nilaway

0
View on GitHub↗
3,765 Stars·88 Forks·Go·apache-2.0·3 Aufrufe

Nilaway

Nilaway is a static analysis tool and linter plugin for Go designed to identify potential nil pointer dereferences in source code to prevent runtime panics. It functions as an inter-procedural pointer analyzer that tracks data flow across functions and packages to detect memory safety issues.

The tool differentiates itself by tracking pointer states through anonymous functions, closures, and struct initializations. It employs a pointer analysis framework that monitors how values flow through a program to determine if a variable is safe to dereference at a specific point.

The analyzer can be integrated into continuous integration workflows and linting toolchains, exporting its findings in a structured format. It includes configuration utilities to filter analysis scope, allowing users to restrict checks to specific first-party packages.

Features

  • Nil Pointer Detection - Identifies potential nil pointer dereferences in Go source code to prevent runtime panics.
  • Inter-procedural Data Flow Analyzers - Tracks pointer states across function boundaries, including struct initializations and anonymous functions.
  • Interprocedural Pointer Analysis - Provides inter-procedural pointer analysis to track values across function and package boundaries.
  • Static Analysis Tools - Provides a pointer analysis framework to detect memory safety issues across Go packages.
  • Nil Dereference Detection - Identifies potential nil pointer dereferences during compilation to prevent runtime panics.
  • Pointer Analysis Frameworks - Implements inter-procedural pointer tracking through struct initializations to detect potential nil dereferences.
  • Go Source Code Analyzers - Analyzes Go source code to detect potential nil pointer dereferences.
  • Static Code Analysis - Scans Go programs for bugs and safety violations without executing the code.
  • Analysis Framework Drivers - Integrates pointer checks as standalone binaries or plugins within analysis frameworks.
  • Linting Workflows - Integrates pointer analysis into CI/CD pipelines as part of a broader set of static checks.
  • Closure Analysis - Tracks pointer flow through anonymous functions and closures to identify potential nil dereferences.
  • Context-Sensitive Analysis - Implements context-sensitive modeling to differentiate between function calls and reduce false positives.
  • Flow-Sensitive Analysis - Tracks variable states across execution paths to precisely locate potential nil dereferences.
  • Go Development Workflows - Connects static analysis tools into Go development workflows via custom drivers and JSON output.
  • Nil Analysis Plugins - Ships as a modular linter plugin that outputs pointer analysis results in JSON format.
  • Static Single Assignment Analysis - Uses Static Single Assignment (SSA) form to track how pointer values flow through the program.
  • Analysis Scope Filters - Provides configuration to include or exclude specific packages to focus the analysis scope.

Star-Verlauf

Star-Verlauf für uber-go/nilawayStar-Verlauf für uber-go/nilaway

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Nilaway

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Nilaway.
  • troessner/reekAvatar von troessner

    troessner/reek

    4,126Auf GitHub ansehen↗

    Reek is a static code analyzer for Ruby projects designed to identify design flaws and maintainability issues known as code smells. It functions as a quality assurance tool that inspects source code without executing it to find structural weaknesses and architectural debt. The analyzer identifies specific patterns such as large classes, long methods, and uncommunicative naming. It also detects more complex design issues, including feature envy, data clumps, simulated polymorphism, and control coupling. The tool includes capabilities for issue baselining to manage legacy code and configuratio

    Ruby
    Auf GitHub ansehen↗4,126
  • dominikh/go-toolsAvatar von dominikh

    dominikh/go-tools

    6,818Auf GitHub ansehen↗

    go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset designed to analyze source code to detect bugs and dead code, alongside specialized tools for optimizing how structs are arranged in memory. The project includes a memory alignment visualizer to display physical memory layouts and padding, as well as a struct layout optimizer that reorders fields to minimize memory padding. Additionally, it provides a boilerplate generator to automate the creation of registration and test files required for developing custom Go analyzers. The to

    Go
    Auf GitHub ansehen↗6,818
  • facebook/inferAvatar von facebook

    facebook/infer

    15,646Auf GitHub ansehen↗

    Infer is a static analysis toolset for Java, C, C++, and Objective-C designed to detect memory leaks, null dereferences, and resource bugs. It functions as a multi-language bug finder that identifies race conditions, deadlocks, and memory safety issues by translating source code into a common intermediate representation for analysis. The project distinguishes itself through an inter-procedural data flow analyzer that tracks movement between sources and sinks to detect tainted flows and generate data flow graphs. It also includes a framework for verifying temporal properties and reachability u

    OCamlccode-qualitycpp
    Auf GitHub ansehen↗15,646
  • golang/toolsAvatar von golang

    golang/tools

    7,970Auf GitHub ansehen↗

    This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and semantic analysis of the Go programming language. It includes a language server that provides real-time code intelligence and automated editing capabilities to editors via the Language Server Protocol. The toolset provides a suite of utilities for source code formatting and static analysis. This includes automated standardization of code layout, import organization, and the generation of string representation methods for enumerated types. The project covers broad static anal

    Go
    Auf GitHub ansehen↗7,970
Alle 30 Alternativen zu Nilaway anzeigen→

Häufig gestellte Fragen

Was macht uber-go/nilaway?

Nilaway is a static analysis tool and linter plugin for Go designed to identify potential nil pointer dereferences in source code to prevent runtime panics. It functions as an inter-procedural pointer analyzer that tracks data flow across functions and packages to detect memory safety issues.

Was sind die Hauptfunktionen von uber-go/nilaway?

Die Hauptfunktionen von uber-go/nilaway sind: Nil Pointer Detection, Inter-procedural Data Flow Analyzers, Interprocedural Pointer Analysis, Static Analysis Tools, Nil Dereference Detection, Pointer Analysis Frameworks, Go Source Code Analyzers, Static Code Analysis.

Welche Open-Source-Alternativen gibt es zu uber-go/nilaway?

Open-Source-Alternativen zu uber-go/nilaway sind unter anderem: troessner/reek — Reek is a static code analyzer for Ruby projects designed to identify design flaws and maintainability issues known as… dominikh/go-tools — go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset… facebook/infer — Infer is a static analysis toolset for Java, C, C++, and Objective-C designed to detect memory leaks, null… mgechev/revive — Revive is a configurable static analysis linter and code quality tool for Go. It analyzes source code to detect common… golang/tools — This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and… golang/vscode-go — This project is a language extension for VS Code that provides comprehensive Go language support. It functions as a…