Martin Hellspong - Using QuickCheck for Rust Porting: Lessons from a CPU Emulator Project
Offered By: Rust via YouTube
Course Description
Overview
Explore a 26-minute conference talk by Martin Hellspong on the benefits of using QuickCheck when porting projects to Rust. Gain insights into the speaker's experience porting a CPU emulator library from C to Rust, and learn why QuickCheck was crucial for ensuring identical behavior between the original and the ported version. Discover the challenges faced during the porting process, including macro complexities and a O(n²) bug in the Rust compiler. Benefit from Hellspong's perspective on Rust's tradeoffs, drawing from his extensive experience with languages like C/C++, C#, Scala, and Clojure. Understand the complications of using Cargo's multi-threaded testing model with a single-threaded C library and potential solutions. Delve into topics such as QuickCheck's randomness, criticisms, and other applications, as well as the specifics of the Musashi PRS project and its statements.
Syllabus
Intro
What is QuickCheck
Randomness
QuickCheck
Criticisms
How I used QuickCheck
The project
Musashi PRS
Statements
Other uses
Taught by
Rust
Related Courses
Automated Software Testing: Model and State-based TestingDelft University of Technology via edX F#: Automated Testing for Developers
LinkedIn Learning Writing Tests with F#
Microsoft via YouTube Functions and Determinism in Property-based Testing - Lecture 9
ChariotSolutions via YouTube The Lazy Programmer's Guide to Writing Thousands of Tests
NDC Conferences via YouTube