What is this?
Infer is a static analysis tool that finds bugs in Java, C, C++, and Objective-C code by analyzing it without running it. It lives under Facebook's GitHub and is written in OCaml.
Is it a library I import, or a tool I run?
It is a standalone command-line analyzer you point at your codebase, not a library you import. The analyzer itself is written in OCaml.
What does building it from source require?
Since Infer is written in OCaml, a source build means setting up an OCaml toolchain; the exact steps are documented in INSTALL.md. Packaged installs avoid that entirely.
Is it fully open source — any licensing catches?
Infer is MIT-licensed. One catch: enabling Java support may require you to download and install components licensed under the GPL.
Which languages can it analyze?
Java, C, C++, and Objective-C — one tool covering both JVM code and native C-family sources.
Is Infer a mature, actively developed project?
It has been on GitHub since 2015 under Facebook's organization, has about 15.7k stars, and the repo ships CI workflow configs for installs and deploys.
What are similar projects?
rector, pyright, fallow, ast-grep, static-analysis, ruff, phpstan, semgrep
Which topics is it in?
static-code-analysis, objective-c, code-quality, static-analysis, cli-tool, c, cpp, c++, command-line, developers, java, command-line-tool