Module 5: Delta Debugging Flashcards

1
Q

why simplify test cases?

A
  1. ease of communication
  2. easier debugging: smaller test cases result in smaller states and shorter executions
  3. identify duplicates: simplified test cases subsume several duplicates
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

how do we minimize test cases?

A

binary search

  • cut the test case in half
  • iterate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

binary search process

A

this is a naive way to minimize input and not always a good solution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

line granularity

A

only partition the input at line breaks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

minimizing test cases

A

exponential

bad!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

one minimality

A

different problem formulation:

find a set of changes that cause the failure, but removing any change causes the failure to go away

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

1 minimality

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

delta debugging

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly