CppDepend vs Infer
CppDepend
cppdepend.comInfer
fbinfer.comSide by side
| Figure | CppDepend | Infer |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | Yes | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | — |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · C and C++ Static Analysis Tools | 8.3 (#7) | 8.5 (#5) |
| Purpose | CppDepend analyzes C, C++, Java, and Rust codebases to visualize architecture, detect issues, enforce coding standards, and prevent technical debt. | Infer is a static analysis tool that produces a list of potential bugs from Java or C/C++/Objective-C code. |
| Support | Support during the subscription period covers installation and usage problems, general questions, and bug fixes. | The project directs users to GitHub issues and the #infer IRC channel on Libera Chat for questions and issue reports. |
Plans
In their own words
Infer
Infer is a static analysis tool that examines compiled Java, C, C++, Objective-C, and Erlang code and reports potential bugs before release. Its checks include null pointer problems, resource or memory leaks, coding conventions, unavailable APIs, and concurrency issues such as data races. Some analyses can follow an issue across multiple functions or methods and files. Pulse provides memory-safety analysis, while RacerD checks thread safety. Cost analysis estimates asymptotic function complexity for Java and C-family languages; Hack support is experimental, and Python, Rust, and Swift are not supported by that analysis. Infer captures compilation commands, analyzes the captured files, and writes reports that can be reviewed with `infer explore`; files that are not compiled are not analyzed. Integrations are documented for build tools including Buck, CMake, Gradle, Make, Maven, Xcodebuild, and xctool. It can be installed from binary releases, built from source, or run in Docker. The free plan costs nothing. Infer runs on Linux and macOS, with web and self-hosted options; Windows is not supported.