1. Automatic Identification of Bug-
Introducing Changes
Kim, Zimmermann, Pan, Whitehead
Presented By**:
Arnamoy Bhattacharyya
University of Alberta
**some slides are taken from the presentation of Nicolas Bettenburg
17. 1: public void bar() { 1: public void foo() { 1: public void foo() {
2: // print report 2: // print report 2: // print out report
3: if (report == null) { 3: if (report == null) 3: if (report != null)
4: println(report); 4: { 4: {
5: 5: println(report); 5: println(report);
6: } 6: ----- 6: }
7: }
Revision 0.11 Revision 0.12 Revision 0.13
Detect
function name
Find Bug Inducing
changes
Change
18.
19. 4.1. Using Annotation Graph
False Positive - Indicated as Bug Inducing Change but actually not
False Negative- NOT Indicated as Bug Inducing Change but
actually is one
20. 4.2. Non Behavior Changes
1. Comments
2. Changes to source code format
3. Addition/removal of blank lines
1: public void bar() { 1: public void bar() {
2: if (report == null) { 2: // print report Addition of comment
3: println(report); 3: if (report == null)
4: } 4: { Change of Source code format
5: println(report);
6: Addition of Blank Lines
7: }