MIRAI is an abstract interpreter for the Rust compiler's mid-level intermediate representation (MIR). It is intended to become a widely used static analysis tool for Rust. The initial focus will be on taint analyis.
See the developer guide for instructions on how to build, run and debug MIRAI.
- Set up visitor infrastructure for MIR (Early December)
- Provide a way to store and retrieve function summaries (Late December)
- State tracking and memory operations (January)
- Design Abstract Domain abstraction and implement some domains (February)
- Full scale Abstract Interpreter (March, April)
- Expression simplifier
- Hook up SMT solver
- Work on scalability
- Deploy MIRAI in the build system of a large project
- More domains and refined diagnostics
See the CONTRIBUTING file for how to help out.
MIRAI is MIT licensed, as found in the LICENSE file.