moodmosaic

Blog

Model-Based Stateful Testing with proptest-state-machine

2025-01-10

Part of the Model-Based Stateful Testing with madhouse-rs series, demonstrating how proptest-state-machine's enum-based design becomes a bottleneck at scale.

Read more →

The Expression Problem, with Counters

2024-12-10

Part of the Model-Based Stateful Testing with madhouse-rs series, introducing the core tension between data-open and operations-open designs using a simple Counter example.

Read more →

Model-Based Stateful Testing with madhouse-rs

2024-12-01

A series on the expression problem in Rust, model-based stateful testing, and how madhouse-rs scales real-world test harnesses by embracing a data-open design.

Read more →

Fuzzing meets property testing

2023-12-15

Modern tools combine coverage-guided exploration with semantic correctness checks, creating hybrid approaches that leverage the best of both fuzzing and property-based testing worlds.

Read more →

Property-based testing in Rust and Go

2023-12-01

Property-based testing shifts focus from 'does this crash?' to 'does this behave correctly?' by specifying invariants and generating test cases to validate them in Rust and Go.

Read more →

Coverage-guided fuzzing in Rust and Go

2023-11-15

Traditional fuzzers like AFL and libFuzzer have adapted to memory-safe targets, hunting for panics and logic errors instead of memory corruption using coverage-guided evolution.

Read more →

Why fuzzing still matters in memory-safe languages

2023-11-01

Memory-safe languages like Rust and Go eliminate buffer overflows by design, yet fuzzing remains critical for finding the bugs that type systems can't catch.

Read more →