Skip to content
SPECIFICTION
Get listed

Infer vs SeaHorn

Infer

fbinfer.com

SeaHorn

seahorn.github.io

Side by side

FigureInferSeaHorn
Price fromFree—
Free planYes—
Free trial——
Open source——
WebYes—
macOSYesYes
LinuxYesYes
Self-hostedYesYes
Plans published10
Spec score · C and C++ Static Analysis Tools8.5 (#5)7.2 (#17)
IntegrationsInfer documents integrations for Buck, cmake, Gradle, Make, Maven, Xcodebuild, xctool, and compilation databases.The site identifies CRAB as the abstract interpretation analyzer SeaHorn uses to provide numerical invariants.
LicenseThe Infer repository states that Infer is MIT-licensed, while noting that enabling Java support may require GPL-licensed components.SeaHorn is distributed under a modified BSD license.
PurposeInfer is a static analysis tool that produces a list of potential bugs from Java or C/C++/Objective-C code.SeaHorn is a verification framework for LLVM-based programs.
SupportThe project directs users to GitHub issues and the #infer IRC channel on Libera Chat for questions and issue reports.The project says it provides support to new users and invites users to report issues when Docker tags become stale.

Plans

Infer

  • Infer (free)Free

Infer pricing →

SeaHorn

No plans published.

SeaHorn 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

SeaHorn

SeaHorn is a free, open-source framework for automated analysis of C and other LLVM-based programs, developed mainly for research in automated verification. It is not an out-of-the-box static analyzer. Its frontend prepares LLVM IR bitcode, and its middle end converts optimized bitcode into verification conditions written as Constrained Horn Clauses. Backend engines use SMT-based model checking, including PDR/IC3 techniques, and CRAB can provide numerical invariants through abstract interpretation. SeaHorn supports abstract interpretation, context-sensitive pointer analysis, bounded model checking, constrained-Horn-clause software model checking, and termination or non-termination analysis. For C programs with assertions, `sea pf` translates the program, generates and solves verification conditions, displays invariants for safe results, or saves a counterexample for violations. `sea inspect` reports program structure and can produce memory or call-graph data. The framework also checks generated clauses for inconsistent code fragments using path coverage. Docker is described as the easiest starting point, with a nightly image refreshed daily. Building requires LLVM, Z3, and Boost, whose exact versions change. SeaHorn runs on Linux, macOS, or self-hosted systems under a modified BSD license.

Visit seahorn.github.io