Skip to content
SPECIFICTION
Get listed

Astrée vs SeaHorn

Astrée

absint.com

SeaHorn

seahorn.github.io

Side by side

FigureAstréeSeaHorn
Price from——
Free plan——
Free trial——
Open source——
WindowsYes—
macOS—Yes
LinuxYesYes
Self-hosted—Yes
Plans published00
Spec score · C and C++ Static Analysis Tools7.8 (#11)7.2 (#17)
IntegrationsThe maker describes CI/CD and DevOps integration, automatic AUTOSAR integration analysis from ARXML files, and a TargetLink coupling; release notes also mention an Astrée Jenkins plugin.The site identifies CRAB as the abstract interpretation analyzer SeaHorn uses to provide numerical invariants.
LicenseAstrée is developed and distributed by AbsInt under license from CNRS/ENS.SeaHorn is distributed under a modified BSD license.
PurposeAstrée is a sound static analyzer designed to prove the absence of runtime errors and data races in C/C++ programs.SeaHorn is a verification framework for LLVM-based programs.
SupportThe maker's factsheet invites users to speak with a product specialist by phone and lists [email protected] as a contact email.The project says it provides support to new users and invites users to report issues when Docker tags become stale.

In their own words

Astrée

Astrée has no write-up on Specifiction yet; its figures are above.

Visit absint.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