Why you'd be better off using QuickCheck when porting to Rust
summary
A Rust port of Musashi called r68k uses QuickCheck to prove instruction‑level equivalence to the C emulator by generating random initial states and observing concrete counterexamples, running 1,600 QuickCheck tests that find behavioral mismatches, producing 16 PRs against Musashi and requiring 3h45m single‑thread runs; the effort verifies instruction behavior, exposes macro madness and an O(n²) compiler bug, and forces Cargo testing workarounds for a single‑threaded C library.
AI-written summary · about
chapters (6)
- 0:00Introduction to quick check
- 4:46How quick check works
- 7:25Addressing criticisms
- 11:54Case study: CPU emulation
- 18:17Designing effective properties
- 23:00Real world usage and conclusion
related talks
42mSurprise yourself with Property Based Testing
01h 02mRewriting of a small component from C to Rust
56mReady for Rust
01h 22mRust for the C++ Programmer
58mRust for The Curious C++ Developers
29mRust is easy
28mBuild bigger in less time: code testing beyond the basics
32mBuilding and Maintaining Rust at Scale
