Skip to content

Rust mid-level IR Abstract Interpreter

License

Notifications You must be signed in to change notification settings

cbarrettfb/MIRAI

 
 

Repository files navigation

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.

About

Rust mid-level IR Abstract Interpreter

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.9%
  • Shell 0.1%