Automatic Identification of Bug-fix Commits:
The Case of GitHub Projects
Yujuan Jiang, Rodrigo Morales, Bram Adams, Foutse Khom
1
Automatic Identification of Bug-fix Commits: The Case of GitHub - - PowerPoint PPT Presentation
Automatic Identification of Bug-fix Commits: The Case of GitHub Projects Yujuan Jiang, Rodrigo Morales, Bram Adams, Foutse Khom 1 Case study projects Approach Research questions Result (so far) 2 Case Study Projects key words:
Yujuan Jiang, Rodrigo Morales, Bram Adams, Foutse Khom
1
2
key words: GitHub, C language
3
4
5
Textual Analysis: Code Analysis keywords
6
1) Textual Analysis:
7
1) Textual Analysis: keywords
7
1) Textual Analysis: keywords + feature words
7
1) Textual Analysis: keywords + feature words
All words
7
1) Textual Analysis: keywords + feature words
All words Stem + remove stop words
7
1) Textual Analysis: keywords + feature words
All words Stem + remove stop words Filter
7
1) Textual Analysis: keywords + feature words
All words Stem + remove stop words Filter
7
2) Source Code Analysis:
8
2) Source Code Analysis: Patch Parser
8
2) Source Code Analysis: Patch Parser + re Script
8
2) Source Code Analysis: Patch Parser + re Script Commits
8
2) Source Code Analysis: Patch Parser + re Script Commits Parser
8
2) Source Code Analysis: Patch Parser + re Script Commits Parser Commit Profile
8
2) Source Code Analysis: Patch Parser + re Script Commits Parser Commit Profile
# of while loops # of ifs # of boolean ......
Features
8
9
Black data
(Manually label 300 bug fixing commits for each project)
Grey data
(Unlabelled)
10
Black data
(Manually label 300 bug fixing commits for each project)
Grey data
(Unlabelled)
LPU
10
Black data
(Manually label 300 bug fixing commits for each project)
Grey data
(Unlabelled)
LPU White data
(Bottom k)
Black data
10
Black data
(Manually label 300 bug fixing commits for each project)
Grey data
(Unlabelled)
LPU White data
(Bottom k)
Black data SVM Random Forest +
10
11
effective than a single classifier approach?
12
13
X38 X41 X33 X37 X26 X2 X3 X4 X9 X11 X13 X14 X15 X17 X18 X19 X24 X25 X28 X29 X30 X32 X34 X35 X36 X39 X40 X42 X43 X44 X45 X46 X47 X48 X49 X51 X16676 X10 X16 X27 X50 X12 X31 X23 X21 X20 X22 X7 X6 X5
0.005 0.010 0.015 0.020 0.025 0.030
Libgit2
14
15
15
15
LPU SVM
15
LPU SVM
X38 X41 X33 X37 X26 X2 X3 X4 X9 X11 X13 X14 X15 X17 X18 X19 X24 X25 X28 X29 X30 X32 X34 X35 X36 X39 X40 X42 X43 X44 X45 X46 X47 X48 X49 X51 X16676 X10 X16 X27 X50 X12 X31 X23 X21 X20 X22 X7 X6 X5
0.005 0.010 0.015 0.020 0.025 0.030
15