/MIRAI

Rust mid-level IR Abstract Interpreter

Primary LanguageRustMIT LicenseMIT

Mirai Build Status codecov

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.

Building

See the developer guide for instructions on how to build, run and debug MIRAI.

Full documentation

Road map

  • 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

Join the Mirai community

See the CONTRIBUTING file for how to help out.

License

Mirai is MIT licensed, as found in the LICENSE file.