4 ms·
Bug Likelihood over Time
- Smaug123 2y agoThis is from the Antithesis docs. It contains an incredibly cute idea. With a deterministic execution simulation system, you can sometimes automatically locate bugs as follows. * Identify and reproduce a symptom of a bug; say the symptom occurs at time `S`. * For various times `t`, rewind the simulation to time `S - t` and replay it, varying whatever sources of simulated randomness are present. * If there is a threshold `T` such that the simulation rarely reproduces the bug for rewinds longer than `T`, but frequently reproduces the bug for rewinds shorter than `T`, then the bug likely occurs at time `S - T`. Crucially, it doesn't matter how much time passes between the bug and the symptom! This method, if it works, identifies the moment when "the symptom became inevitable" (or at least less evitable); that is, the moment when the bug occurred.