msr2014 - an empirical study of dormant bugs

24
An Empirical Study of Dormant Bugs Tse-Hsun(Peter) Chen Meiyappan Nagappan Emad Shihab Ahmed E. Hassan 1

Upload: queens-university-blackberry

Post on 12-Jul-2015

68 views

Category:

Software


2 download

TRANSCRIPT

Page 1: MSR2014 - An Empirical Study of Dormant Bugs

An Empirical Study of Dormant Bugs

Tse-Hsun(Peter) Chen Meiyappan Nagappan Emad Shihab Ahmed E. Hassan

1

Page 2: MSR2014 - An Empirical Study of Dormant Bugs

Most studies focus on post-release bugs

2

Version A Version B

File A

Bug 1 Bug 2

Bugs Discovered!Assign Bugs to File A

Page 3: MSR2014 - An Empirical Study of Dormant Bugs

Some bugs may remain dormant for a long time

3

Version A Version CVersion B

File A

Bug is waken up, but is counted as post-release bug for Version B

Zzz… Zzz…

Page 4: MSR2014 - An Empirical Study of Dormant Bugs

What are dormant bugs?

4

Version BVersion A Version C Today

File A

Bug 1

File B

Bug 2 Bug 3

Bugs introduced in Version A

Not a dormant bug

Bug 2

Dormant bug(discovered one version after it was introduced )

Dormant bug (discovered many versions after it was introduced )

Bug 1

Zzz..Zzz..

Bug 3

Page 5: MSR2014 - An Empirical Study of Dormant Bugs

Dormant bugs affect perceived software quality

5

VersionAVersion

B

Version A has 5 bugs Version B has 10 bugs

Page 6: MSR2014 - An Empirical Study of Dormant Bugs

Dormant bugs affect perceived software quality

6

VersionAVersion

B

Version A has 5 bugs Version B has 10 bugs

Version B has 8 dormant bugs!

These dormant bugs were introduced in version A

Page 7: MSR2014 - An Empirical Study of Dormant Bugs

Case study on 20 systems

7

Studied 20 open-source systems in the Apache FoundationAnalyzed all versions

System LOCs: 61K ~ 1.5M

# dormant bugs29%

# non-dormant

bugs71%

Page 8: MSR2014 - An Empirical Study of Dormant Bugs

Many bugs are actually dormant bugs

8

VersionAVersion

C

Bug introduced in Version A

33% of bugs become dormant bugs!

VersionA

Bugs reported in Version A

Many post-release bugs are actually introduced in MUCH EARLIER versions!

20% of bugs are dormant bugs from prior versions

Page 9: MSR2014 - An Empirical Study of Dormant Bugs

RQ1: How quickly are dormant bugs fixed?

Research questions

9

RQ2: What is the size of a dormant bug fix?

RQ3: Who fixes dormant bugs?

RQ4: What are the root causes of dormant bug fixes?

Page 10: MSR2014 - An Empirical Study of Dormant Bugs

RQ1: How quickly are dormant bugs fixed?

Research questions

10

RQ2: What is the size of a dormant bug fix?

RQ3: Who fixes dormant bugs?

RQ4: What are the root causes of dormant bug fixes?

Page 11: MSR2014 - An Empirical Study of Dormant Bugs

Dormant bugs are fixed faster and the fixes are larger

11

Dormant Non-dormant

Take 5 days to fix (median)

Takes 60% more time to fix

Dormant Non-dormant

Fix size is 19 LOC (median)

Fix size is 50% smaller

Page 12: MSR2014 - An Empirical Study of Dormant Bugs

RQ1: How quickly are dormant bugs fixed?

Research questions

12

RQ2: What is the size of a dormant bug fix?

RQ3: Who fixes dormant bugs?

RQ4: What are the root causes of dormant bug fixes?

Page 13: MSR2014 - An Empirical Study of Dormant Bugs

RQ1: How quickly are dormant bugs fixed?

Research questions

13

RQ2: What is the size of a dormant bug fix?

RQ3: Who fixes dormant bugs?

RQ4: What are the root causes of dormant bug fixes?

Page 14: MSR2014 - An Empirical Study of Dormant Bugs

Dormant fixers are more experienced

14

Dormant Non-dormant

# o

f p

rio

r co

mm

its

of

bu

g fi

xers

Page 15: MSR2014 - An Empirical Study of Dormant Bugs

RQ1: How quickly are dormant bugs fixed?

Research questions

15

RQ2: What is the size of a dormant bug fix?

RQ3: Who fixes dormant bugs?

RQ4: What are the root causes of dormant bug fixes?

Page 16: MSR2014 - An Empirical Study of Dormant Bugs

RQ1: How quickly are dormant bugs fixed?

Research questions

16

RQ2: What is the size of a dormant bug fix?

RQ3: Who fixes dormant bugs?

RQ4: What are the root causes of dormant bug fixes?

Page 17: MSR2014 - An Empirical Study of Dormant Bugs

Manual study of the root causes

17

All bugs

Randomly sampled 357 dormant bugs and 357 non-dormant bugs

Manually classify the bugs

Page 18: MSR2014 - An Empirical Study of Dormant Bugs

Manually-derived root causes

18% o

f b

ugs

bel

on

g to

eac

h m

anu

ally

-der

ived

ro

ot

cau

se

Cornercases

Control flow

MissingFeatures

Process-ing

Implemen-tation

Stacked barplot of:

Page 19: MSR2014 - An Empirical Study of Dormant Bugs

Dormant bugs are different from non-dormant bugs

19

We should consider dormant bugs in future studies to avoid bias

They are different!

Page 20: MSR2014 - An Empirical Study of Dormant Bugs

20

Page 21: MSR2014 - An Empirical Study of Dormant Bugs

21

Page 22: MSR2014 - An Empirical Study of Dormant Bugs

22

Page 23: MSR2014 - An Empirical Study of Dormant Bugs

23

Page 24: MSR2014 - An Empirical Study of Dormant Bugs

24