minimizing reproduction of software failures
A program fails. What now? Taking a single failing run, we record and minimize the interaction between objects to the set of calls relevant for the failure. The result is a minimal unit test that faithfully reproduces the failure at will: "Out of these 14,628 calls, only 2 are required". In a study of 17 real-life bugs, our JINSI prototype reduced the search space to 13.7\% of the dynamic slice or 0.22\% of the source code, with only 1--12 calls left to examine.
capture/replay automated debugging