9. Statistical Debugging Flashcards

1
Q

Problem with random statistical testing

A

too slow

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

every kth site issue

A

violates independence

might miss predicates “out of place”

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

periodic hardware time or interrupt issue

A

might miss rare event

not portable across systems

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

amortized coin tossing

A

implement as countdown values selected from geometric distribution

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

F(P) is

S(P) is

A
# of failing runs where P is observed to be true
# of successful runs where P is observed to be true
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Failure(P) =

A

F(P)+S(P)

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

Context Statistic

A

background chance of failure regardless of P’s value

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

F(P observed) =

S(P observed) =

A
# of failing runs observing P
# of successful runs observing P
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Context(P) =

A

F(P observed) + S(P observed)

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

Increase()

A

Does P being true increase chance of failure over the background rate?

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

Increase(P) =

A

Failure(P) - Context(P)

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

Finding Bugs First Algorithm

A
  1. Discard predicates having Increase(P)<=0

2. Sort remaining predicates by Increase(P)

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

Revised Algorithm

A
  1. Compute Increase() for all predicates
  2. Rank predicates
  3. Add top ranked predicate P to the results list
  4. Remove P and discard all runs where P is true
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

sub-bug predictor

A

covers special cases of a more general bug

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

Ranking by Increase(P) problem

A

high increase() scores but few failing runs

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

Ranking by F(P) problem

A

many failing runs but low increase() scores

17
Q

Precision =

A

fraction of retrieved instances that are relevant

18
Q

recall =

A

fraction of relevant instances that are retrieved

19
Q

retrieved instances

A

predicates reported as bug predictors

20
Q

relevant instances

A

predicates that are actually bugs

21
Q

It (is)/(is not) trivial to achieve only high precision or only high recall

A

is

22
Q

Increase(P) has ___ precision, ___ recall

A

high precision

low recall

23
Q

F(P) has ___ precision, ___ recall

A

high recall

low precision

24
Q

Combining Precision and Recall: Harmonic Mean

A

1/Increase(P) + 1/F(P)

Rewards high scores in both dimensions

25
Q

sorting by the harmonic mean

A

does good