Top Banner
An Empirical Study on Factors Impacting Bug Fixing Time Feng Zhang, Foutse Khomh, Ying Zou and Ahmed E. Hassan
21
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Wcre2012 delays slides (1)

An Empirical Study on Factors

Impacting Bug Fixing Time

Feng Zhang, Foutse Khomh, Ying Zou

and Ahmed E. Hassan

Page 2: Wcre2012 delays slides (1)

2

New Assign Bug Fixing Verified Resolved

A Typical Process of Bug Fixing

Page 3: Wcre2012 delays slides (1)

3

Bug Fixing Time

New Resolved Introduced

Page 4: Wcre2012 delays slides (1)

4

Example: delay before change

Reported & Assigned

Oct-2006

Fixing started & Resolved:

Mar-2011

almost

5 years

Page 5: Wcre2012 delays slides (1)

5

Example: delay after change

Reported & Assigned

Fixing started & ended:

September-2008

Resolved:

February-2011

over

2 years

Page 6: Wcre2012 delays slides (1)

6

DBC DBF DAC

Intervals during Bug Fixing

DBR

New Resolved First

Response Bug Fixing

Start

Bug Fixing

End

Assign

DBA

Delay Before Response DBR

Delay Before Assigned DBA

Delay Before Change DBC

Duration of Bug Fixing DBF

Delay After Change DAC

Page 7: Wcre2012 delays slides (1)

7

Benefits of Studying Delays

Locate time-consuming

steps

Understand factors affecting

the delays

Improve the process of bug fixing

Page 8: Wcre2012 delays slides (1)

8

Subject Systems

3,883 logs

2,722 bugs

606 bugs

524 bugs

793 logs

638 logs

Mylyn

Eclipse Platform

PDE

Page 9: Wcre2012 delays slides (1)

9

Data Sources

Properties of bug

Change history of bug

Properties of file edits

Static metrics

History metrics

Fine grained change types

Bug ID

Page 10: Wcre2012 delays slides (1)

10

Properties of Source

Code

Properties of Code Change

Properties of Bug Report

Title

Summary

Severity of Bug

Operating System

Comments

Size (LOC, NOM)

Complexity (WMC)

Code Churn

Number of Changed Files

Fine Grained Change Types

Metrics from three Dimensions

Page 11: Wcre2012 delays slides (1)

11

RQ1: Do delays by developers exist during

bug fixing process?

RQ2: Can we characterize delays incurred by

developers before and after fixing bugs?

RQ3: What factors contribute to the delays

most?

Research Questions

Page 12: Wcre2012 delays slides (1)

12

RQ1: Bug fixing time extracted from two data sources

Page 13: Wcre2012 delays slides (1)

13

RQ1: Intervals during bug fixing process

Delay

Before

Response

Delay

Before

Assign

Delay

Before

Change

Delay

After

Change

Duration

Of

Bug Fixing

Page 14: Wcre2012 delays slides (1)

14

Enhancement v.s. Defect

364

Delay

Before

Change

56

186

4

Low Severity v.s. High Severity

198

n.s

110

n.s

RQ2: Properties of Bug Report

Delay

After

Change

Delay

Before

Change

Delay

After

Change

Delay

Before

Change

Delay

After

Change

Delay

Before

Change

Delay

After

Change

Page 15: Wcre2012 delays slides (1)

15

RQ2: Properties of Bug Report (cont’)

Length of comment

delay before change

delay after change

Page 16: Wcre2012 delays slides (1)

16

RQ2: Properties of Source Code

Size of Source Code

delay before change (sum)

delay after change (avg/sum/max)

Complexity of Source Code

delay before change (sum)

delay after change (sum/max)

Page 17: Wcre2012 delays slides (1)

17

Code Churn

delay before change (avg/sum/max)

delay after change (avg/sum/max)

Fine Grained Change Types

delay before change

delay after change

RQ2: Properties of Code Change

Page 18: Wcre2012 delays slides (1)

18

RQ3: What factors contribute to the delays most?

Events:

Long DBC : greater than median

Long DAC : greater than median

Analysis Method: (Logistic Regression Model)

Predict the probability of an event’s occurrence.

Combines different factors.

Interpretation by Coefficient:

magnitude describes importance

sign describes direction

Page 19: Wcre2012 delays slides (1)

19

RQ3: Factors Impacting Delays Before Change

-0.5

0.4

0.3

0.2

is bug with high severity

max length of comment

sum NOM

sum Code Churn

-0.5 0.5 Coefficient

Page 20: Wcre2012 delays slides (1)

20

-0.7

0.5

-0.5

max length of comment

is bug

sum WMC

max WMC

is OS Linux

length of description

avg Code Churn

-0.5

-0.3

0.3

0.7

RQ3: Factors Impacting Delays After Change

-1.0 1.0 Coefficient

Page 21: Wcre2012 delays slides (1)

21

Top Two Intervals in Bug Fixing Process

delay before and after change

Delay Before Change

level of severity, code churn (most influential factors)

Delay After Change

comments, complexity (most influential factors)

Conclusions