Unblocking The Main Thread Solving ANRs and Frozen Frames
Dissertation Defense
1. Adaptive Bug Prediction By Analyzing Project History Dissertation Defense, Aug 21, 2006 Sunghun Kim <hunkim@cs.ucsc.edu> University of California, Santa Cruz
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17. Commits, Transactions & Configurations transactions configurations CVS file commits Added feature X Fixed null ptr bug Modified button text Added feature Y log message
20. Creating Corpus – Identifying bug-introducing changes Development history of foo.java SCM log message: “Bug #567 fixed” “ bug-fix ” Bug #567 entered into issue tracking system (bug finally observed and recorded)
21. Creating Corpus – Identifying bug-introducing changes Bug #567 entered into issue tracking system (bug finally observed and recorded) Software change that introduces the bug “ buggy ” … . … . … . … . … . … . Bug-fix change
66. Eclipse/Mozilla Accuracy by Feature Combination A - Added delta D - Deleted delta F - Directory/file name L - Change log N - New source code M - Metadata C - Complexity metrics ~X - all but X
67. Average Accuracy by Feature Combination A - Added delta D - Deleted delta F - Directory/file name L - Change log N - New source code M - Metadata C - Complexity metrics ~X - all but X
68. Best Accuracy Feature Combination A - Added delta D - Deleted delta F - Directory/file name L - Change log N - New source code M - Metadata C - Complexity metrics ~X - all but X
71. Why ‘author’ is not a significant feature? One revision (author) can have buggy and clean changes at the same time
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87. Adaptive Bug Prediction By Analyzing Project History Dissertation Defense, Aug 21, 2006 Sunghun Kim <hunkim@cs.ucsc.edu> University of California, Santa Cruz