why simplify test cases?
how do we minimize test cases?
binary search
binary search process
this is a naive way to minimize input and not always a good solution
line granularity
only partition the input at line breaks
minimizing test cases
exponential
bad!
one minimality
different problem formulation:
find a set of changes that cause the failure, but removing any change causes the failure to go away
1 minimality
delta debugging
a technique, not a tool
bad news: probably must be re-implemented for each significant system to exploit knowledge changes
good news: relatively simple algorithm, big payoff; it is worth re-implementing