NullAway ist ein statisches Analysetool für Java und ein Build-Time-Detektor, der darauf ausgelegt ist, Null-Pointer-Risiken zu identifizieren. Es fungiert als Nullability-Checker, der Annotationen verwendet, um zu verifizieren, dass Referenzen nicht null sind, bevor sie dereferenziert werden, wodurch Laufzeitabstürze verhindert werden.
Die Hauptfunktionen von uber/nullaway sind: Null Safety Enforcement, Nullability Standard Implementations, Nullability Checkers, Java Static Analysis Tools, Build-Time Null Check Verification, Nullability Annotations, Syntax Tree Analysis, Null Pointer Exception Detection.
Open-Source-Alternativen zu uber/nullaway sind unter anderem: checkstyle/checkstyle — Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best… spotbugs/spotbugs — SpotBugs is a static analysis tool and bytecode analyzer for Java applications. It scans compiled class files to… rrrene/credo — Credo is a static analysis tool and linter for Elixir. It functions as a code quality analyzer that scans source code… pycqa/flake8 — Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding… golang/lint — This is a static analysis linter and code quality tool for Go. It analyzes source code to identify common coding… troessner/reek — Reek is a static code analyzer for Ruby projects designed to identify design flaws and maintainability issues known as…
Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement
SpotBugs is a static analysis tool and bytecode analyzer for Java applications. It scans compiled class files to identify bugs, security vulnerabilities, and performance issues without executing the code. The system functions as both a bug detector and a static application security testing tool to locate logical errors and API misuse. The project distinguishes itself through a plugin-based detector architecture that allows the integration of external libraries to add custom detection rules. It provides specialized security auditing for vulnerabilities such as SQL injection, cross-site scripti
Credo is a static analysis tool and linter for Elixir. It functions as a code quality analyzer that scans source code to identify stylistic inconsistencies, common mistakes, and potential security vulnerabilities. The tool provides a customizable framework for defining and testing specialized rules to enforce project-specific coding standards. It identifies complex code fragments and duplication to highlight opportunities for refactoring and simplification. Its capabilities cover automated code reviews, the enforcement of Elixir coding standards, and real-time developer feedback through edit
Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding standards in source files. It serves as a linting wrapper that aggregates multiple checkers into a single interface, functioning as a pluggable framework for Python code analysis. The tool incorporates a cyclomatic complexity analyzer to measure the logical complexity of functions and identify code that requires refactoring. It is designed for extensibility, allowing the integration of custom plugins and rules through defined entry points. The system provides capabilities fo