| Infer is a static analysis tool for finding bugs in C, C++, and Java code. CodeRabbit uses Infer to report issues such as null dereferences, resource leaks, and concurrency bugs on changed files.Documentation Index
Fetch the complete documentation index at: https://docs.coderabbit.ai/llms.txt
Use this file to discover all available pages before exploring further.
Files
Infer will run on changed files with the following extensions:.c.cc.cpp.cxx.h.hh.hpp.hxx.java
reviews.tools.fbinfer.enable_java when you want CodeRabbit to analyze changed Java files with Infer.
Configuration
- Using configuration file
- Using web interface
Compilation database discovery
Infer uses a compilation database when one is available. CodeRabbit checks forcompile_commands.json, build/compile_commands.json, and compile_commands.json files inside top-level cmake-build* directories.
When no compilation database is available, CodeRabbit falls back to direct compilation for changed .c, .cc, .cpp, and .cxx files. Header-only changes need a compilation database. Java files are analyzed only when Java analysis is enabled.
When we skip Infer
CodeRabbit will skip running Infer when:- Infer is disabled in CodeRabbit settings or
.coderabbit.yaml. - No changed files match the supported file types.
- Java is the only matching language and Java analysis is not enabled.
- Infer is already running in GitHub workflows.
- A header-only C/C++ change has no compilation database available.
Links
What’s next
Tool catalog
Browse all linters, security analyzers, and CI/CD integrations by category and technology.
Tools reference
Explore detailed specifications and configuration options for CodeRabbit tools.