Bug Likelihood over Time

by Smaug123on 1/25/2025, 12:46 AMwith 1 comments

by Smaug123on 1/25/2025, 12:46 AM

This 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.