Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)
1. Bug Triage
with Bug Tossing Graphs
Gaeul Jeong, Sunghun Kim and Thomas Zimmermann
August 26, 2009
Joint meeting of the European Software Engineering Conference (ESEC)
and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE),
Armsterdam,
The Netherlands
2. Bug triage
Bu Bu
g g
X
Fixed
New Assigned Resolved
The life cycle of a bug report (A. Zeller)
2
3. Problem
More than More than
300 reports per day 1,000 developers
Bu
g ? Bu
g
X
Fixed
New Assigned Resolved
3
4. Consequences
Mozilla
297,999 bugs 116,890 bugs
First First
Reported Assignment
Action
26.1 days 161.1 days
(a) All Bugs
pse
131,958 bugs 49,431 bugs
Ecli Reported
144,102 bugs
First
Action 88,706 bugs
First
Assignment
7.1 days First 38.1 days First
Reported Assignment
Action
16.7 days 23.6 days
(b) Verified Bugs
(a) All Bugs
18,498 bugs 15,045 bugs
First First
Reported Assignment
Action
5.2 days 4 19.3 days
5. Bug tossing
Tossing (reassign)
Bu Bu
g g
X
Fixed
New Assigned Resolved
The life cycle of a bug report
5
7. Two Challenges
• Finding appropriate developer is hard
• Wrong assignment(bug tossing) make the
fixing process slow down
7
8. Our solution
• Learning from previous tossing history
• To help
• Assist manual bug triage
• Reducing tossing paths
• Assign bug automatically
8
9. Bug tossing path
• Extracting bug tossing information
• Identify more appropriate developers using
tossing relationship
9
10. Learning from tossing paths
Path tokens
A→D (2), A→E(1)
Extracted path information
B→D(1)
A B C D
A C D E C→D(2), C→E(1)
C E A F D D→E(1)
E→D(1)
F→D(1)
10
12. Learning from tossing paths
Path tokens
Generated graph
A→D (2), A→E(1)
A B→D(1)
C→D(2), C→E(1)
D→E(1)
E→D(1)
F→D(1)
11
13. Learning from tossing paths
Path tokens
Generated graph
A→D (2), A→E(1)
A B→D(1)
67%
C→D(2), C→E(1)
D
D→E(1)
E→D(1)
F→D(1)
11
14. Learning from tossing paths
Path tokens
Generated graph
A→D (2), A→E(1)
F A B→D(1)
100% 67% 33%
C→D(2), C→E(1)
D E
100%
100% D→E(1)
67% 33%
C E→D(1)
B
F→D(1)
11
18. Developer feedback
• “Very neat stuff! The clustering was correct
for the team”
• “This would be useful for both integrators
and managers wanting to understand the
life cycle of bugs”
15
19. Path reduction
• Reducing tossing paths by graph search
• Original path
A B C D
• Recommended path?
A ? Search from A
16
20. Greedy search
for optimal path
• Start from a given node (A)
• Visit heavy neighboring nodes first
F Original : A B C D
A
100% 67% 33%
Our path : A D
D E
100%
17
33. Thank you
Gaeul Jeong, Sunghun Kim and Thomas Zimmermann
Joint meeting of the European Software Engineering Conference (ESEC)
and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE),
Armsterdam,
The Netherlands
34. Experiment
• They use the first 165,385 Eclipse bugs for
training
• The machine learners predict developers for
bugs in a testing set, Eclipse bug from 165,397
to 211,822
0 165,397 211,822
Training set Testing set
29