Skip to the content.

Overview

TRust2 is an open project to develop formally Verified toolchain for the Rust language using theorem provers such as Isabelle/HOL and Rocq. The toolchain will include formal languages, program verifier, static analyzer, verified compilers, and code generator for Rust.

TRust

Model-Based Development

AADL and SysML are widely used in safety-critical domains such as aerospace and automotive. We are exploring the generation of executable Rust code from these high-level models.

Theorem Provers

Theorem provers (TPs), including Rocq, Isabelle/HOL, and Lean, are employed to guarantee expected properties of given programs. We are working on bidirectional code generation between these TPs and Rust.

Rust Contract Specification

We are developing a formal specification following the design-by-contract principle for Rust. Existing efforts in Rust include Verus, Prusti, and others. Our current toolchain and specification language are still work in progress.

Real-world Rust Applications

Publications

Current Members (Alphabetical)

Rui Chang, Jian Cheng, Jun Liu, Jiayi Lu, Di Luo, David Sanan, Shenyi Yang, Zhibin Yang, Shenghao Yuan, Qiyuan Xu, Zhuoruo Zhang, Yongwang Zhao

Source Code

Documentation

  1. Phi-System: an experimental certified programming language and also a generic verification platform.
  2. CertSBF: A complete formal semantics of eBPF instruction set architecture for Solana.
  3. Solana-x64-Semantics: Formalizing x64 binary semantics in Isabelle/HOL.