Post on 12-Jul-2015
An Empirical Study of Dormant Bugs
Tse-Hsun(Peter) Chen Meiyappan Nagappan Emad Shihab Ahmed E. Hassan
1
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
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…
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
Dormant bugs affect perceived software quality
5
VersionAVersion
B
Version A has 5 bugs Version B has 10 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
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%
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
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?
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?
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
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?
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?
Dormant fixers are more experienced
14
Dormant Non-dormant
# o
f p
rio
r co
mm
its
of
bu
g fi
xers
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?
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?
Manual study of the root causes
17
All bugs
Randomly sampled 357 dormant bugs and 357 non-dormant bugs
Manually classify the 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:
Dormant bugs are different from non-dormant bugs
19
We should consider dormant bugs in future studies to avoid bias
They are different!
20
21
22
23
24