awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
uber-go avatar

uber-go/nilaway

0
View on GitHub↗
3,765 estrellas·88 forks·Go·apache-2.0·6 vistas

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.

Historial de estrellas

Gráfico del historial de estrellas de uber-go/nilawayGráfico del historial de estrellas de uber-go/nilaway

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Nilaway

Proyectos open-source similares, clasificados según cuántas características comparten con Nilaway.
  • svf-tools/svfAvatar de SVF-tools

    SVF-tools/SVF

    1,684Ver en GitHub↗

    SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state. The framework incorporates specialized engines for flow-sensitive, flow-insensitive, and context-sensitive pointer analysis alongside sparse value-flow graph generation. It features memory

    C++code-analysiscode-securitydependency-analysis
    Ver en GitHub↗1,684
  • troessner/reekAvatar de troessner

    troessner/reek

    4,126Ver en GitHub↗

    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
    Ver en GitHub↗4,126
  • dominikh/go-toolsAvatar de dominikh

    dominikh/go-tools

    6,818Ver en GitHub↗

    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
    Ver en GitHub↗6,818
  • facebook/inferAvatar de facebook

    facebook/infer

    15,646Ver en GitHub↗

    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
    Ver en GitHub↗15,646
Ver las 30 alternativas a Nilaway→

Preguntas frecuentes

¿Qué hace 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.

¿Cuáles son las características principales de uber-go/nilaway?

Las características principales de uber-go/nilaway son: 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.

¿Qué alternativas de código abierto existen para uber-go/nilaway?

Las alternativas de código abierto para uber-go/nilaway incluyen: svf-tools/svf — SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references,… troessner/reek — Reek is a static code analyzer for Ruby projects designed to identify design flaws and maintainability issues known as… facebook/infer — Infer is a static analysis toolset for Java, C, C++, and Objective-C designed to detect memory leaks, null… dominikh/go-tools — go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset… golang/tools — This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and… mgechev/revive — Revive is a configurable static analysis linter and code quality tool for Go. It analyzes source code to detect common…