Skip to content
SPECIFICTION
Get listed

Infer vs Understand

Infer

fbinfer.com

Understand

scitools.com

Side by side

FigureInferUnderstand
Price fromFree$100/mo
Free planYes—
Free trial—Yes
Open source——
WebYes—
Windows—Yes
macOSYesYes
LinuxYesYes
API—Yes
Self-hostedYesYes
Plans published12
Spec score · C and C++ Static Analysis Tools8.5 (#5)8.4 (#6)
Spec score · Static Analysis Tools8.5 (#9)8.5 (#10)
LanguagesThe documentation lists Java, C, C++, Objective-C, and Erlang; the latest release notes also describe Python and Swift frontends and an experimental Rust frontend.Supported language families include Ada, assembly, C/C++, C#, Fortran, Java, JOVIAL, Pascal/Delphi, Python, VHDL, Visual Basic and web languages.
SupportThe project directs users to GitHub issues and the #infer IRC channel on Libera Chat for questions and issue reports.SciTools provides product support by email and lists office hours Monday through Friday, 9 AM–5 PM Mountain Time.
What it doesInfer is a static analyzer that reports potential bugs in source code before it ships.Understand is a desktop source-code comprehension and static-analysis environment that builds navigable models of code relationships, metrics and standards findings.

Plans

Infer

  • Infer (free)Free

Infer pricing →

Understand

  • Understand subscription$100 a month
  • Understand annual subscriptionPrice not published

Understand pricing →

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.

Visit fbinfer.com

Understand

Understand is a static analysis and code-comprehension tool from SciTools. It builds a cross-referenced model of source code without executing it, then helps users explore relationships through its Information Browser, call trees, dependency analysis, and visual graphs, including butterfly and control-flow views. It also provides metrics, CodeCheck, version comparison, APIs, a command-line interface, and AI chat. Supported languages include C/C++, C#, Fortran, Java, Python, Rust, VHDL, Visual Basic, and web languages such as HTML, CSS, JavaScript, TypeScript, PHP, and XML. It runs on Windows 11, specified Linux distributions, and macOS Monterey or later; command-line automation, CI, and an official Docker image are also available. The VS Code extension is separately licensed. Local AI keeps code and prompts on the user's hardware, while cloud AI sends requests with code context to the selected provider. Offline use is supported with offline licensing. Pricing includes a free plan and paid subscriptions from $100/user/mo (annual).

Visit scitools.com