Что это такое?
Infer — это инструмент статического анализа, который находит ошибки в коде на Java, C, C++ и Objective-C, изучая его без запуска. Проект размещён на GitHub у Facebook и написан на OCaml.
Это библиотека, которую я подключаю, или программа, которую я запускаю?
Это самостоятельный анализатор с командной строкой, который вы направляете на свой код, а не библиотека для импорта. Сам анализатор написан на OCaml.
Что нужно, чтобы собрать его из исходников?
Поскольку Infer написан на OCaml, сборка из исходников означает настройку OCaml-окружения; точные шаги описаны в INSTALL.md. Установка готовых пакетов позволяет обойтись без этого.
Он полностью открытый — нет ли подвоха с лицензией?
Infer распространяется по лицензии MIT. Один нюанс: для включения поддержки Java может понадобиться скачать и установить компоненты под лицензией GPL.
Какие языки он умеет анализировать?
Java, C, C++ и Objective-C — один инструмент покрывает и код для JVM, и исходники на C-подобных языках.
Infer — это зрелый и активно развиваемый проект?
Он на GitHub с 2015 года в организации Facebook, у него около 15.7k звёзд, а в репозитории есть конфигурации CI-процессов для установки и деплоя.
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