saw-script
527
Stars
86
Forks
28
Watchers
523
Open Issues
BSD-3-Clause
许可证
Haskell
语言
2015-04-16
创建时间
2026-11-12
最近更新
项目能做什么
saw-script 是基于 Haskell 开发的软件分析工作台(SAW)。它主要解决多语言程序的形式化验证问题,支持对 C、Java、Rust 及 Cryptol 编写的代码进行形式化语义建模与推理。开发者可通过其专用的 SAWScript 脚本语言作为操作接口,结合 Z3 等 SMT 求解器完成代码的形式化验证。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
[](https://github.com/GaloisInc/saw-script/actions?query=event%3Aschedule) # SAW This repository contains the code for SAW, the Software Analysis Workbench. SAW provides the ability to reason about formal models describing the denotation of programs written in languages such as C, Java, Rust, and Cryptol. SAWScript is the scripting language that serves as the primary user interface to SAW. The repository is named after it for historical reasons. ## Documentation There are two SAW tutorials that give an introduction to using the SAWScript interpreter: * [This tutorial](https://github.com/GaloisInc/saw-script/blob/master/doc/pdfs/llvm-java-verification-with-saw.pdf) gives an introduction to verifying C code (using LLVM) and Java code (using JVM). * [This tutorial](https://github.com/GaloisInc/saw-script/blob/master/doc/pdfs/rust-verification-with-saw.pdf) gives an introduction to verifying Rust code (using MIR). There is also a longer [manual](https://github.com/GaloisInc/saw-script/blob/master/doc/pdfs/saw-user-manual.pdf) that describes the breadth of SAW's features. ## Precompiled Binaries Precompiled SAW binaries for a variety of platforms are available on the [releases page](https://github.com/GaloisInc/saw-script/releases). ## Docker Images Alternatively, there is a Docker image available from the [packages page](https://github.com/orgs/GaloisInc/packages/container/package/saw). ## Getting Z3 SAW can use many theorem provers, but because of its use of Cryptol it always needs to have Microsoft Research's [Z3 SMT solver](https://github.com/Z3Prover/z3) installed. You can download Z3 binaries for a variety of platforms from their [releases page](https://github.com/Z3Prover/z3/releases). You can also download binaries for Z3 and other solvers from our [what4-solvers](https://github.com/GaloisInc/what4-solvers/releases) package. We currently recommend Z3 4.8.10. If you plan to use path satisfiability checking, you'll also need Yices version 2.6.1 or newer. After installation, make sure that `z3` (or `z3.exe` on Windows) is on your PATH. ## Cloning the Repository After cloning the saw-script repository, you need to also clone submodules. Run `git submodule update --init`. The commonly used `--recursive` option is not required, and also not recommended as it results in cloning a considerable number of additional unused subtrees. ## Downloading Release Sources Starting with SAW 1.4, to download the sources for a release from the [releases page](https://github.com/GaloisInc/saw-script/releases), be sure to get the file `saw-<release>-sources.tar.gz` and not the default GitHub-generated file `v<release>.tar.gz`. The latter does not include SAW's submodules and is, alas, therefore unbuildable. (This is [a GitHub problem](https://github.com/orgs/community/discussions/6003) and there's no sign of it being likely to get fixed.) For releases prior阅读完整原文
项目深度分析 AI 生成
密码学算法与底层Rust库的形式化验证咨询与审计服务
| 产品构想 | 利用SAW工具链为Web3、加密通信或安全硬件厂商提供C/Rust核心算法实现(如AES、Kyber、ZK证明核心)与数学规范等价性的验证服务并出具报告。 |
| 核心功能 | Cryptol规范编写、SAWScript证明脚本构建、SMT验证执行、证明报告与CI自动化回归验证交付。 |
| 目标用户 | 区块链基础设施公司、加密芯片设计商、企业级安全通讯软件开发商。 |
| 难度/周期 | 高(需要深厚的Haskell源码理解、密码学知识及SMT形式化验证专家能力) · 2 - 6 个月 · 成本:人力成本为主(高薪专业形式化验证专家),以及高性能证明计算服务器 |
| 收费模式 | 按审计项目制收费(单项目数万至数十万美元,推测),或企业定制形式化规范咨询费 |
| 竞争风险 | 获客周期极长;形式化验证面临状态空间爆炸或超时风险导致项目交付延期。 |
| 依据 | 已验证事实 |
云端持续形式化验证CI/CD平台(CI-SAW)
| 产品构想 | 将复杂的SAW、Z3、Yices环境云端SaaS化,为注重安全的企业提供与GitHub/GitLab集成的自动化形式化证明Runner服务。 |
| 核心功能 | 预配置多求解器云执行环境、PR触发自动验证、SMT超时排查与求解策略优化看板、证明状态徽章与覆盖度报告。 |
| 目标用户 | 关键基础设施软件开发团队、系统级开源维护者。 |
| 难度/周期 | 中等(依赖于云原生调度、自动化部署及对SAW命令行包装) · 3 - 5 个月 · 成本:云算力服务器(多核大内存,满足SMT高负载计算)与网络带宽 |
| 收费模式 | 基于计算资源与时长的月费/年费订阅模式(SaaS席位费 + 求解算力计费) |
| 竞争风险 | 目标市场相对小众;大部分有能力使用SAW的高端客户倾向于自建受控离线计算环境。 |
| 依据 | 数据支持的判断 |
SAW高阶企业培训与规范模板库
| 产品构想 | 针对企业从0到1引入SAW困难的痛点,提供结构化的Rust/C验证培训课程及常见数据结构与算法的标准SAW验证模板库。 |
| 核心功能 | 全套实战教学案例(覆盖内存安全、加密规范匹配等)、现成的SAWScript验证脚手架、企业内部答疑支持服务。 |
| 目标用户 | 汽车电子软件团队、防务与高可靠软件研发部门的工程经理和技术人员。 |
| 难度/周期 | 中等(需要将学术性强的文档降维为工程落地教材) · 1 - 3 个月 · 成本:教材编写与案例工程搭建的人力时间 |
| 收费模式 | 企业培训课程交付、订阅制私有模板库访问权限 |
| 竞争风险 | 市场接受度高度依赖企业对形式化验证技术普及意愿,客群规模小。 |
| 依据 | AI推测 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
相似项目数据正在完善中,暂不展示(避免误导)
项目优势与风险
| 技术成熟度 | 创建于 2015-04-16,近 30 天仍在推送,发布过 18 个 Release |
| 社区活跃 | Star 527 / Fork 86 / Issue 523(数据支持,可自行核实) |
| 许可证 | BSD-3-Clause |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。