Infer - A static analyzer for Java, C and Objective-C

  •        132

A static analyzer for Java, C and Objective-C. It is a tool to detect bugs in Android and iOS apps.



Related Projects

csslint - Automated linting of Cascading Stylesheets

CSSLint is an open source CSS code quality tool originally written by Nicholas C. Zakas and Nicole Sullivan. It was released in June 2011 at the Velocity conference.A lint tool performs static analysis of source code and flags patterns that might be errors or otherwise cause problems for the developer.

Codelyzer - Static analysis for Angular projects.

A set of tslint rules for static code analysis of Angular TypeScript projects.You can run the static code analyzer over web apps, NativeScript, Ionic, etc.

pelusa - Static analysis Lint-type tool to improve your OO Ruby code

Static analysis Lint-type tool to improve your OO Ruby code

JSHint - A Static Code Analysis Tool for JavaScript

JSHint is a community-driven tool to detect errors in JavaScript code and enforce your team's coding conventions.

scapegoat - Scala compiler plugin for static code analysis

Scapegoat is a Scala static code analyzer, what is more colloquially known as a code lint tool or linter. Scapegoat works in a similar vein to Java's FindBugs or checkstyle, or Scala's Scalastyle.A static code analyzer is a tool that flag suspicious language usage in code. This can include behavior likely to lead or bugs, non idiomatic usage of a language, or just code that doesn't conform to specified style guidelines.

PHPStan - PHP Static Analysis Tool - discover bugs in your code without running it!

PHPStan focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code.PHPStan moves PHP closer to compiled languages in the sense that the correctness of each line of the code can be checked before you run the actual line.

FindBugs - Static Analysis Tool for Java

FindBugs uses static analysis to look for bugs in Java code. it can analyze programs compiled for any version of Java. Eclipse and Maven plugins are available. FindBugs has been downloaded more than 700,000 times.

eslint-config-standard-jsx - ESLint Shareable Config for JSX support in JavaScript Standard Style

Shareable configs are designed to work with the extends feature of .eslintrc files. You can learn more about Shareable Configs on the official ESLint website.This Shareable Config adds extra JSX style rules to the baseline JavaScript Standard Style rules provided in eslint-config-standard. It doesn't assume that you're using React, so other virtual DOM libraries like virtual-dom and deku are supported.


The Android lint tool is a static code analysis tool that checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization. Lint comes with over 200 checks, however it can be extended with additional custom rules.

NullAway - A tool to help eliminate NullPointerExceptions (NPEs) in your Java code.

NullAway is a tool to help eliminate NullPointerExceptions (NPEs) in your Java code. To use NullAway, first add @Nullable annotations in your code wherever a field, method parameter, or return value may be null. Given these annotations, NullAway performs a series of type-based, local checks to ensure that any pointer that gets dereferenced in your code cannot be null. NullAway is similar to the type-based nullability checking in the Kotlin and Swift languages, and the Checker Framework and Eradicate null checkers for Java.NullAway is fast. It is built as a plugin to Error Prone and can run on every single build of your code. In our measurements, the build-time overhead of running NullAway is usually less than 10%. NullAway is also practical: it does not prevent all possible NPEs in your code, but it catches most of the NPEs we have observed in production while imposing a reasonable annotation burden, giving a great "bang for your buck." At Uber, we combine NullAway with RAVE to obtain thorough protection against NPEs in our Android apps.

linters - an introduction to static code analysis

Originally, lint was a tool for scanning .c code for additional, stricter warnings. By statically analyzing the code itself before compilation, programmers could maintain a higher level of code discipline, increasing the reliability of the code in multiple compilers and environments.

JSLint - The JavaScript Code Quality Tool

JSLint is a JavaScript program that looks for problems in JavaScript programs. It is a code quality tool. JSLint takes a JavaScript source and scans it. If it finds a problem, it returns a message describing the problem and an approximate location within the source. The problem is not necessarily a syntax error, although it often is. JSLint looks at some style conventions as well as structural problems. It does not prove that your program is correct.

Checkstyle - Checks Java coding standard

Checkstyle is a tool to help programmers write Java code that adheres to a coding standard. Checkstyle is highly configurable and can be made to support almost any coding standard. Checkstyle provides checks that find class design problems, duplicate code, or bug patterns like double checked locking. This tool could be integrated as Ant task.

SPDisposeCheck Static Code Analysis Ruleset for Visual Studio 2012

SPDisposeCheck Static Code Analysis Ruleset allows SharePoint 2010 developers to ensure SharePoint APIs are properly disposed using Visual Studio 2012.

rubysonar - a deep static analyzer for Ruby

RubySonar is a type inferencer and indexer for Ruby, which does sophisticated interprocedural analysis to infer types. It is one of the underlying technologies that powers the code search site Sourcegraph.RubySonar uses the irb interpreter to parse Ruby code, so please make sure you have it installed and pointed to by the PATH environment variable.

lint - Run linters from Go code -

Lint makes it easy to run linters from Go code. This allows lint checks to be part of a regular go build + go test workflow. False positives are easily ignored and linters are automatically integrated into CI pipelines without any extra effort. Check the project website to learn more about how it can be useful.lint runs linters using the excellent os/exec package. It searches all Go binary directories for the needed binaries and when they don't exist it downloads them using go get. Errors generated by running linters are split by newline and can be skipped as needed.