gitwtfhub

wtf is rustlantis?

fractalfir/rustlantis — explained in plain English

Analysis updated 2026-08-08 · repo last pushed 2025-08-17

1RustAudience · researcherComplexity · 5/5QuietSetup · hard

TL;DR

Rustlantis automatically generates random, well-defined Rust programs and runs them through multiple compiler backends to find bugs by comparing their outputs. Any disagreement signals a real compiler bug.

Mindmap

mindmap
  root((repo))
    What it does
      Generates random Rust programs
      Compares backend outputs
      Finds compiler bugs
    How it works
      Uses MIR representation
      Random seed for reproducibility
      Tests LLVM Miri Cranelift
    Use cases
      Test compiler changes
      Find crashes in Rust
      Validate new backends
    Audience
      Compiler developers
      Rust researchers
      Backend engineers
    Key features
      UB-free program generation
      Deterministic test cases
      Trophies of found bugs

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Test that your changes to the Rust compiler don't silently break integer arithmetic or other calculations.

REASON 2

Find crashes and wrong-output bugs in LLVM, Miri, or Cranelift backends by running generated programs across all three.

REASON 3

Validate a new Rust compiler backend by comparing its output against established backends on random programs.

REASON 4

Reproduce a found compiler bug deterministically using the random seed that generated the failing program.

What's in the stack?

RustMIRLLVMMiriCranelift

How it stacks up

fractalfir/rustlantisabc3dz/mixxxabyo-software/ferro-stash
Stars111
LanguageRustRustRust
Last pushed2025-08-17
MaintenanceQuiet
Setup difficultyhardmoderatemoderate
Complexity5/52/54/5
Audienceresearchergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1day+

Requires building the Rust compiler from source and familiarity with MIR, LLVM, Miri, and Cranelift internals.

No license information was provided in the repository explanation.

Wtf does this do

Rustlantis is a testing tool that automatically generates random Rust programs and then checks whether different parts of the Rust compiler produce the same results when running them. Its goal is to find bugs in how Rust translates and runs code, ideally catching problems before they reach real users. At a high level, it works by creating small programs using Rust's "MIR," which is an intermediate, lower-level representation of Rust code that the compiler uses internally. Each generated program uses a random seed, so the same seed always produces the exact same program. The tool then runs that program through multiple "backends", different systems that turn Rust code into something executable, like LLVM, Miri, and Cranelift, and compares their output. If the backends disagree, that signals a bug somewhere in the compilation pipeline. The generated programs are carefully constructed to avoid "undefined behavior" (UB), meaning any discrepancy points to a real compiler bug rather than the program itself being unpredictable. The people who would use this are compiler developers and researchers working on Rust itself, or on the backend systems it depends on. For example, someone modifying how Rust optimizes integer arithmetic could run this tool to make sure their changes do not silently break certain calculations. The project's "trophies" section shows it has already found real bugs in Rust, LLVM, and Cranelift, including crashes and cases where the compiler quietly produced wrong results. What makes this project notable is its emphasis on determinism and UB-free generation. Many fuzzers rely on throwing random, messy input at a system to see what breaks. Here, the generated programs are structured and well-defined, so when a mismatch occurs, the developer can be confident it is a genuine compiler issue, not an artifact of a malformed test case.

Yoink these prompts

Prompt 1
Write a Rust test harness that takes a random seed, generates a small MIR program, runs it through LLVM and Cranelift, and reports if their outputs differ.
Prompt 2
Help me set up Rustlantis to fuzz the Cranelift backend by generating UB-free Rust programs and comparing results against Miri.
Prompt 3
Generate a deterministic random MIR program generator in Rust that avoids undefined behavior and can reproduce the same program from a given seed.
Prompt 4
Create a script that runs Rustlantis across LLVM, Miri, and Cranelift backends and logs any output mismatches as potential compiler bugs.

Frequently asked questions

wtf is rustlantis?

Rustlantis automatically generates random, well-defined Rust programs and runs them through multiple compiler backends to find bugs by comparing their outputs. Any disagreement signals a real compiler bug.

What language is rustlantis written in?

Mainly Rust. The stack also includes Rust, MIR, LLVM.

Is rustlantis actively maintained?

Quiet — no commits in 6-12 months (last push 2025-08-17).

What license does rustlantis use?

No license information was provided in the repository explanation.

How hard is rustlantis to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is rustlantis for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.