Sys 项目使用教程
1. 项目的目录结构及介绍
Sys 项目的目录结构如下:
├── app
│ └── 可执行文件,用于运行检查器
├── src
│ ├── Checkers
│ │ └── 静态和符号检查器
│ ├── Control
│ │ └── 日志记录助手
│ ├── LLVMAST
│ │ └── LLVM AST 接口
│ ├── InternalIR
│ │ └── 用于表示静态和符号执行路径的内部 IR
│ ├── Static
│ │ └── 静态检查器 DSL
│ └── Symex
│ └── 符号 DSL 和执行引擎
├── community
│ └── 社区文件
└── test
└── 测试文件
目录结构介绍
- app: 包含用于运行检查器的可执行文件。
- src: 项目的核心代码目录,包含多个子目录:
- Checkers: 包含静态和符号检查器。
- Control: 包含日志记录助手。
- LLVMAST: 包含 LLVM AST 接口。
- InternalIR: 包含用于表示静态和符号执行路径的内部 IR。
- Static: 包含静态检查器的 DSL。
- Symex: 包含符号 DSL 和执行引擎。
- community: 包含社区文件。
- test: 包含测试文件。
2. 项目的启动文件介绍
Sys 项目的启动文件位于 app
目录下。启动文件的主要功能是运行检查器,具体命令如下:
stack exec sys
启动文件参数
-d DIR --libdir=DIR
: 指定要分析的目录或单个 LLVM 文件。-e EXTN --extn=EXTN
: 指定要检查的文件扩展名。-c CHECK --check=CHECK
: 指定要运行的检查器。
3. 项目的配置文件介绍
Sys 项目的主要配置文件包括:
- stack.yaml: 用于配置 Haskell 构建工具 Stack。
- package.yaml: 用于配置项目的依赖和构建选项。
stack.yaml
stack.yaml
文件用于配置 Stack 工具,定义项目的依赖和构建选项。
package.yaml
package.yaml
文件用于配置项目的依赖和构建选项,包括项目的名称、版本、依赖库等。
通过这些配置文件,可以定制项目的构建和运行环境,确保项目在不同系统上的一致性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考