rust-lang miri 6533 Rust https://avatars.githubusercontent.com/u/5430905?v=4 63 Rust 中级中间表示的解释器,用于代码检查与测试 An interpreter for Rust's mid-level intermediate representation
创建于 10 年前
最后更新 今天
+7 stars today
AI 综合评分
63 B 级
代码质量 58
文档质量 66
社区健康 60
项目活跃 68
创新性 55
项目简介
Rust 中级中间表示的解释器,用于代码检查与测试
项目摘要
【主题】
Miri 是 Rust 语言的 MIR(中级中间表示)解释器,用于检测未定义行为和验证代码正确性。
【核心分点总结】
- 未定义行为检测:Miri 能捕获 Rust 代码中的未定义行为,如越界访问、释放后使用、数据竞争等,帮助开发者避免潜在安全漏洞。
- MIR 解释执行:直接在 MIR 层解释执行 Rust 代码,无需生成机器码,支持交叉检查和动态分析。
- 测试与验证:与
cargo miri集成,可替代标准测试环境,确保 unsafe 代码的正确性。 - 常量求值引擎:扩展 Rust 编译器的常量求值能力,支持更复杂的 const 计算。
- 平台抽象:模拟不同目标平台的行为,便于跨平台代码验证。
【行动指南】
- 使用
cargo miri test替换常规测试,检测 unsafe 代码中的未定义行为。 - 在持续集成流程中集成 Miri,作为代码安全检查环节。
- 启用
-Zmiri-detailed-logs获取更详尽的执行追踪,方便调试。
【金句总述】
Miri 是 Rust 安全性的哨兵,让未定义行为无处遁形。
【故事性收尾】
自从在 CI 中加入 Miri,开发者小李再也不用担心 release 前的内存错误排查——每次 cargo miri test 跑完后,那整齐的绿色通过标志让他能安心地喝下最后一口咖啡。