# 使用 Homebrew, Nix 安装 souffle

查看 souffle 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:souffle
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install souffle
```

  证据: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#souffle
```

  证据: nixpkgs package indexes: pkgs/by-name/so/souffle/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:souffle
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/souffle>
- **版本:** 2.5
- **来源摘要:** Logic Defined Static Analysis
- **主页:** <https://souffle-lang.github.io>
- **仓库:** <https://github.com/souffle-lang/souffle>
- **上游文档:** <https://souffle-lang.github.io/docs.html>
- **许可证:** UPL-1.0
- **源码归档:** <https://github.com/souffle-lang/souffle/archive/refs/tags/2.5.tar.gz>
- **已生成:** 2026-07-08T18:08:21+00:00

## 可执行文件

- souffle (cli)
- souffle-compile.py (cli)
- souffleprof (cli)
- souffle (别名)
- souffle-compile.py (别名)
- souffleprof (别名)

## 构建依赖

- bison
- cmake
- mcpp
- pkgconf

## macOS 提供的库

- libffi
- ncurses
- sqlite

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-07-08
- 管理器版本: 2.5
- 本地数据: OK
- 上游仓库: https://github.com/souffle-lang/souffle
- 检测到的最新版本: 2.5 (当前)
- 信息: No package-manager update timestamp was available.
## 项目历史与用法

Soufflé is a Datalog-inspired logic programming language and synthesis tool for static analysis. Its command-line tools compile or interpret Datalog-like specifications and can synthesize parallel C++ programs from logic rules.

### 项目历史

The official documentation says Soufflé was initially designed at Oracle Labs for crafting static analysis in logic. Its publication list shows the research lineage: an ASWEC 2015 experience report, CAV and CC papers in 2016, and later work on indexes, data structures, provenance, interpretation, and incrementalization.

The public GitHub repository was created in March 2016 and presents itself as the official repository for the Soufflé language project. The README describes Soufflé as similar to Datalog, with records, and frequently used as a domain-specific language for analysis problems.

### 采用历史

Soufflé's adoption has been strongest in program analysis and research tooling. The official docs list applications including Java static analysis with Doop, network analysis, data analytics, cloud-computing security analysis, and smart-contract security analysis with Gigahorse.

Packaging reflects that specialist audience. The official install page documents Ubuntu/Fedora/Oracle Linux packages, source builds, and a Homebrew tap; the Homebrew metadata in this batch also records a packaged `souffle` formula in Homebrew and Nix.

### 使用方式

Users write relations, facts, and rules in Soufflé, then run the `souffle` CLI to evaluate the program or synthesize efficient C++ for larger analyses. The ecosystem also includes profiling and compile helper tools such as `souffleprof` and `souffle-compile.py`.

Common usage is not a general scripting task but analysis construction: points-to analysis, taint analysis, security checks, graph reachability, and other rule-heavy computations where Datalog is concise and generated code needs to be fast.

### 为什么软件包爱好者会关心

Soufflé is package-nerd significant because it packages a research compiler and Datalog runtime into a usable developer CLI. It is a bridge between papers, static-analysis frameworks, and installed command-line tools.

It also shows why package managers matter for research software: reproducible installation makes it much easier for analyzers, benchmarks, and downstream tools to depend on the same language implementation.

### 时间线

- 2015: Soufflé-related Datalog static-analysis experience report published.
- 2016: Soufflé CAV and CC papers published and public GitHub repository created.
- 2021: PLDI paper published on an efficient interpreter for Datalog by de-specializing relations.
- 2025: Soufflé 2.5 released on GitHub.

### Related projects

- Datalog is the language family Soufflé extends for large-scale analysis.
- Doop is named by the official docs as a Java static-analysis application using Soufflé-style Datalog analysis.
- Gigahorse is named by the official docs as a smart-contract security-analysis application.

### 来源

- <https://api.github.com/repos/souffle-lang/souffle>
- <https://api.github.com/repos/souffle-lang/souffle/releases>
- <https://github.com/souffle-lang/souffle>
- <https://souffle-lang.github.io/docs.html>
- <https://souffle-lang.github.io/install>
- <https://souffle-lang.github.io/publications>
- input.json source_facts.package-manager


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals

## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** souffle
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## 其他软件包管理器记录

- Nix - souffle: normalized package name match | nixpkgs package indexes: pkgs/by-name/so/souffle/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## 相关链接

- [Source-control packages](https://www.automicvault.com/zh-hans/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/zh-hans/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/zh-hans/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/zh-hans/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [bison](https://www.automicvault.com/zh-hans/pkg/brew/bison/) - Build dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/zh-hans/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [mcpp](https://www.automicvault.com/zh-hans/pkg/brew/mcpp/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/zh-hans/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [cflow](https://www.automicvault.com/zh-hans/pkg/brew/cflow/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [checkstyle](https://www.automicvault.com/zh-hans/pkg/brew/checkstyle/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [clazy](https://www.automicvault.com/zh-hans/pkg/brew/clazy/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [clingo](https://www.automicvault.com/zh-hans/pkg/brew/clingo/) - Shares av.db curated category or tags: cli, developer-tools, logic-programming.
- [cppcheck](https://www.automicvault.com/zh-hans/pkg/brew/cppcheck/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [credo](https://www.automicvault.com/zh-hans/pkg/brew/credo/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [datadog-static-analyzer](https://www.automicvault.com/zh-hans/pkg/brew/datadog-static-analyzer/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [detekt](https://www.automicvault.com/zh-hans/pkg/brew/detekt/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [staticcheck](https://www.automicvault.com/zh-hans/pkg/brew/staticcheck/) - Local package facts share a topical domain. Shared terms: analysis, cli, developer, developer-tools, programming.
- [statix](https://www.automicvault.com/zh-hans/pkg/brew/statix/) - Local package facts share a topical domain. Shared terms: analysis, cli, developer, developer-tools, programming.

## Combined YAML source

View the package source record on GitHub. [combined/souffle.yml](https://github.com/automic-vault/db/blob/main/combined/souffle.yml)


## 来源

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
