Skip to content

Rust mid-level IR Abstract Interpreter

License

Notifications You must be signed in to change notification settings

cbarrettfb/MIRAI

This branch is 1110 commits behind facebookexperimental/MIRAI:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

60368e1 · Mar 9, 2019

History

95 Commits
Jan 11, 2019
Mar 9, 2019
Mar 9, 2019
Jan 4, 2019
Nov 6, 2018
Dec 15, 2018
Mar 7, 2019
Nov 6, 2018
Nov 7, 2018
Feb 25, 2019
Mar 7, 2019
Nov 28, 2018
Nov 6, 2018
Jan 17, 2019
Nov 29, 2018

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%