Posted Nov 20, 2009 6:19 UTC (Fri) by njs (guest, #40338)
[Link]
The tools capture information about all runs, so that they can compare "good" and "bad" (crashing) runs. The interesting tech is the instrumentation -- their trick is sparse stochastic tracing of whole-program execution, where any given trace is small, cheap, and doesn't reveal much (good for privacy), but in aggregate you can automatically isolate the necessary and sufficient conditions for triggering a crash, even if the root cause is some event that occurred in the past and isn't visible in the core dump/back-traces that most tools collect.