Time Travel Debuggers
summary
Describes three working approaches and what actually breaks or scales: a transpiled language that snapshots full program state objects to enable statement-level rewind (a Tic‑Tac‑Toe AI prototype initially runs out of memory until re‑engineered); a Python mod called pyrewind that logs state-changing operations and replays them into a sqlite store for fast reverse stepping; and system‑level deterministic record-replay tools (RR, ReplayIO) that eliminate Heisenbugs by replaying external inputs. Also demos object timeline and data‑flow views that jump to the statement that produced a bad value.
AI-written summary · about
chapters (12)
- 0:00Time travel debuggers intro
- 1:07Bret Victor and Redux
- 3:37Traditional debugging limits
- 5:50Statement-level time travel
- 8:26Saving updates not states
- 11:40Record replay with RR
- 13:25How deterministic replay works
- 16:37Time travel debugger techniques
- 18:47Omniscient debuggers
- 20:55Program history visualization
- 22:59Prospector data flow
- 24:05Debugging as computing foundation
related talks
36mRewind: Python Time-Travel Debugger
37mTime Travel Debugging JavaScript Applications
26mTime travel debugging: A step-by-step guide
01h 02mTime Travel Debugging
26mTime-awareness in Object-exploration Tools: Toward In Situ Omniscient Debugging
06mA Time-Travel Debugger for Web Audio Applications
37mThe Bright Future of Debuggers: Challenges and Opportunities
28mTemporal Breakpoints for Multiverse Debugging
