awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rust-lang avatar

rust-lang/miri

0
View on GitHub↗
5,914 Stars·446 Forks·Rust·apache-2.0·3 Aufrufe

Miri

Features

  • Provenance-Tracking Allocators - Defines allocation semantics with provenance tracking to enforce that pointers only access their originating allocation.
  • Type Validity Enforcers - Enforces that all data must be valid for its type, enabling niche-based enum layout optimizations.
  • Abstract Machine Models - Implements Rust's abstract machine semantics by modeling memory as a byte array with provenance tracking.
  • Abstract Byte Representations - Models memory bytes with initialization and provenance tracking to detect undefined behavior at runtime.
  • Intermediate Representation Interpreters - Interprets Rust's Mid-level Intermediate Representation (MIR) directly to simulate program execution.
  • Stacked Borrows Models - Enforces the Stacked Borrows aliasing model to detect violations of Rust's reference and borrow rules at runtime.
  • Tree Borrows Models - An alternative aliasing discipline using a tree structure to track permission states for each memory location.
  • Layout Definitions - Defines how Rust types are laid out in memory, including size, alignment, and field offsets.
  • Memory Model Enforcers - Validates pointer provenance, aliasing rules, and allocation semantics according to Rust's abstract machine.
  • MIR Interpreters - Executes Rust's mid-level intermediate representation to detect undefined behavior and memory safety violations.
  • Safe Code Verifiers - Verifies that safe code cannot trigger undefined behavior through library APIs using static and dynamic analysis.
  • Undefined Behavior Detection - Detects operations that violate Rust's language specification, such as invalid memory access or data races.
  • Isolated Execution Sandboxes - Provides an isolated execution sandbox that restricts interpreted programs from accessing real system resources.
  • Interior Mutability Patterns - Supports interior mutability patterns like Cell and RefCell by allowing mutation through shared references.
  • Aliasing Detectors - Detects when pointers overlap memory regions to enforce Rust's aliasing rules and prevent undefined behavior.
  • Provenance Trackers - Tracks each pointer's originating allocation to ensure dereferences only access correct memory regions.
  • Data Race Detectors - Ships a data race detector that uses vector clocks on every memory access to identify concurrent conflicts.
  • Soundness Verifiers - Checks that safe code cannot trigger undefined behavior through a library's public API.
  • Abstract Machine Enforcers - Enforces Rust's abstract machine rules including pointer provenance, aliasing, and validity invariants during execution.
  • Safety Invariant Distinctions - Separates safety invariants from validity invariants, enabling unsafe code to temporarily violate safety guarantees.
  • Cross-Platform Rust Testers - Emulates arbitrary target architectures to verify Rust programs behave correctly across different platforms.
  • Library Soundness Verifiers - Verifies that safe code cannot cause undefined behavior when using a library's public API.
  • Cross-Platform Test Execution - Runs Rust binaries and test suites for arbitrary target architectures to verify platform-independent correctness.
  • Type ABI Compatibility Definitions - Specifies when two types can be passed by-value across function boundaries interchangeably.
  • Padding Byte Semantics - Defines padding byte handling between struct fields and enum variants to satisfy alignment requirements.
  • Place and Value Semantics - Separates memory locations from ephemeral computed values in the language's semantic model.
  • Non-Determinism Explorers - Explores multiple execution paths by treating allocation addresses and scheduling as symbolic values with random seeding.
  • Host Resource Isolation Configurations - Controls access to host resources like environment variables, files, and randomness for interpreted programs.
  • Random Seed Replayers - Replays programs with multiple random seeds to uncover bugs dependent on thread scheduling or allocation addresses.
  • Niche Bit-Pattern Identifiers - Identifies invalid bit patterns in types to enable niche-based layout optimizations like enum discriminant elision.
  • Non-Deterministic Bug Hunters - Replays programs with multiple random seeds to uncover bugs that depend on thread scheduling or allocation addresses.
  • Parallel Test Execution - Launches each test as a separate interpreter process to restore parallelism lost by the single-threaded interpreter.

Star-Verlauf

Star-Verlauf für rust-lang/miriStar-Verlauf für rust-lang/miri

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was sind die Hauptfunktionen von rust-lang/miri?

Die Hauptfunktionen von rust-lang/miri sind: Provenance-Tracking Allocators, Type Validity Enforcers, Abstract Machine Models, Abstract Byte Representations, Intermediate Representation Interpreters, Stacked Borrows Models, Tree Borrows Models, Layout Definitions.

Welche Open-Source-Alternativen gibt es zu rust-lang/miri?

Open-Source-Alternativen zu rust-lang/miri sind unter anderem: nextest-rs/nextest — nextest is a high-performance test execution framework and Rust test runner designed to manage parallelism, retries,… wasmedge/wasmedge — WasmEdge is an extensible WebAssembly runtime that executes WebAssembly bytecode in a secure sandbox for cloud, edge,… cross-rs/cross — Cross is a container-based build environment and cross-compilation tool for Rust. It functions as a multi-architecture… jasmine/jasmine — Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a… swiftlang/swift-testing — Swift Testing is a testing framework for the Swift programming language that provides a structured environment for… webdriverio/webdriverio — WebDriverIO is a Node.js test automation framework used for automating functional tests across web browsers and mobile…

Open-Source-Alternativen zu Miri

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Miri.
  • nextest-rs/nextestAvatar von nextest-rs

    nextest-rs/nextest

    2,828Auf GitHub ansehen↗

    nextest is a high-performance test execution framework and Rust test runner designed to manage parallelism, retries, and timeouts. It serves as a test recording system that captures execution metadata and outputs into archives for later failure analysis and replay. The project distinguishes itself as a flakiness detection tool, identifying unstable tests through stress loops and automated retry policies. It also functions as a CI test orchestrator, capable of partitioning test suites across multiple workers and exporting results in standardized JUnit XML and JSON formats. The framework provi

    Rustcargo-plugincargo-subcommandflaky-tests
    Auf GitHub ansehen↗2,828
  • cross-rs/crossAvatar von cross-rs

    cross-rs/cross

    8,235Auf GitHub ansehen↗

    Cross is a container-based build environment and cross-compilation tool for Rust. It functions as a multi-architecture binary builder and testing framework, allowing users to compile crates into binaries for different operating systems and CPU architectures without installing local toolchains on the host system. The project distinguishes itself by using Docker images to provide consistent toolchains and system dependencies for foreign target architectures. It integrates the Zig toolchain within container images to facilitate compilation across various architectures and library versions, and i

    Rustaarch64armbsd
    Auf GitHub ansehen↗8,235
  • wasmedge/wasmedgeAvatar von WasmEdge

    WasmEdge/WasmEdge

    10,665Auf GitHub ansehen↗

    WasmEdge is an extensible WebAssembly runtime that executes WebAssembly bytecode in a secure sandbox for cloud, edge, and embedded applications. It functions as a multi-language compiler, compiling applications written in Rust, JavaScript, Go, and Python into WebAssembly bytecode for sandboxed execution, and as a server-side JavaScript runtime that runs JavaScript programs with ES6 modules, NPM packages, and Node.js-compatible APIs. The runtime also serves as an AI inference runtime, executing AI models from JavaScript using WASI-NN plug-ins for inference tasks on personal devices and edge har

    C++artificial-intelligencecloudcloud-native
    Auf GitHub ansehen↗10,665
  • jasmine/jasmineAvatar von jasmine

    jasmine/jasmine

    15,824Auf GitHub ansehen↗

    Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a comprehensive toolset for writing and executing descriptive test suites that verify code behavior in both web browsers and Node.js environments. The framework is distinguished by its integrated mocking library, which allows for dependency isolation through spies and stubs, as well as the ability to simulate time and timing functions to test asynchronous logic synchronously. It also includes a mechanism to enforce test uniqueness, preventing duplicate names for tests and suites. I

    JavaScript
    Auf GitHub ansehen↗15,824
  • Alle 30 Alternativen zu Miri anzeigen→