Safe Interactions with Foreign Languages through Omniglot
Omniglot
Omniglot is framework that allows Rust programs to safely and efficiently interact with foreign libraries in any language.
Runtime Crates
This repository contains the core Omniglot crate. But to actually use Omniglot, you use on a library specialized for a particular runtime. Currently supported runtimes include:
TODO
- [ ] Documentation
- [ ] Quick start guide
- [ ] Tock Cortex-M support
- [ ] Improved
bindgenintegration and calling convention analysis.
Publications
Omniglot was published at USENIX OSDI 2025, where it won a best paper award.
USENIX ;login; also published an article motivating and describing the work.
Reproducibility
To reproduce the experiments and results from our OSDI'25 paper, we publish our reproduction instructions and code artifacts on Zenodo:
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or
- MIT license (LICENSE-MIT or
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.