A Deterministic Simulation Testing (DST) Journey: From WASM in Go to State Machines in Rust

Abstract

Deterministic simulation testing finds bugs by exploring random execution paths, injecting failures, and letting you replay any failure with a single starting seed. This testing approach shakes out many difficult to find bugs before they reach production and greatly increases developer confidence in system correctness when making new changes.

This talk will take you on our DST journey at Polar Signals: how we implemented DST in our Go database using a WASM runtime, and why we chose a different approach when rewriting our database in Rust.

You'll walk away with:

  • A framework for thinking about software determinism
  • An overview of two practical DST approaches and their tradeoffs
  • Ideas for implementing DST in your system

Speaker

Alfonso Subiotto

Software Engineer @Polar Signals

Alfonso is a software engineer with a deep focus on distributed systems and databases. After honing his skills on the SQL execution team at Cockroach Labs, he now contributes to the storage layer at Polar Signals, a continuous profiling solution. Alfonso’s current area of focus is ensuring correctness through deterministic simulation testing.

Read more
Find Alfonso Subiotto at:

Date

Monday Mar 16 / 10:35AM GMT ( 50 minutes )

Location

Windsor (5th Fl.)

Share

From the same track

Session

Leveraging WasmEdge and Rust for Multi-tenant Serverless on AWS

Monday Mar 16 / 01:35PM GMT

Details coming soon.

Session

Reimagining SQLite for the Cloud-Native Era

Monday Mar 16 / 02:45PM GMT

Details coming soon.

Session

The Engineering Behind Wasm3’s Performance

Monday Mar 16 / 03:55PM GMT

Details coming soon.

Session

Building Performance-Critical Data Structures in Zig

Monday Mar 16 / 05:05PM GMT

Details coming soon.

Session

Unconference: Native Languages

Monday Mar 16 / 11:45AM GMT