wcre2012 patterns slides (1)

31
An Empirical Study of the Effect of File Editing Patterns on Software Quality Feng Zhang, Foutse Khomh, Ying Zou and Ahmed E. Hassan

Upload: sailqu

Post on 14-Aug-2015

125 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wcre2012 patterns slides (1)

An Empirical Study of the

Effect of File Editing Patterns

on Software Quality

Feng Zhang, Foutse Khomh, Ying Zou

and Ahmed E. Hassan

Page 2: Wcre2012 patterns slides (1)

2

Do developers follow some file editing patterns?

Concurrent?

Extended?

Interrupted?

File Editing

Page 3: Wcre2012 patterns slides (1)

3

Concurrent?

Extended?

Interrupted?

?

?

?

What’s the impact on software quality?

File Editing

Page 4: Wcre2012 patterns slides (1)

4

Examples

Page 5: Wcre2012 patterns slides (1)

5

1. Example on concurrent editing

BugzillaTaskEditorPage.java

Frank Steffen Pingel David Green

Page 6: Wcre2012 patterns slides (1)

6

1. Concurrent Editing

Several developers edit the same file concurrently.

Page 7: Wcre2012 patterns slides (1)

7

2. Example on parallel editing

AbstractTaskEditorPage.java

Frank

TasksUiPlugin.java PlanningPerspectiveFactory.java

Page 8: Wcre2012 patterns slides (1)

8

2. Parallel Editing

Multiple files are edited in parallel by the same developer.

Page 9: Wcre2012 patterns slides (1)

9

3. Example on extended editing

DiscoveryViewer.java

4.5 hours

Mylyn Project

1.25 hours

3.6 times

Page 10: Wcre2012 patterns slides (1)

10

3. Extended Editing

Developers spend longer time editing a file. (threshold: third quantile)

Page 11: Wcre2012 patterns slides (1)

11

4. Example on interrupted editing

TaskCompareDialog.java

338 hours

Mylyn Project

2 hours

164 times

Page 12: Wcre2012 patterns slides (1)

12

4. Interrupted Editing

There is a longer idle period during the editing of a file.

(threshold: third quantile)

Page 13: Wcre2012 patterns slides (1)

13

File Editing Patterns Summary

1. Concurrent Editing

2. Parallel Editing

3. Extended Editing

4. Interrupted Editing

Page 14: Wcre2012 patterns slides (1)

14

How to evaluate the effect of

file editing patterns?

Time

Split Date Density of Future Bug

File Editing Patterns

Page 15: Wcre2012 patterns slides (1)

15

Subject Systems

3,883 logs

2,722 bugs

606 bugs

524 bugs

793 logs

638 logs

Mylyn

Eclipse Platform

PDE

Page 16: Wcre2012 patterns slides (1)

16

Description of Data

Split Date: 2011-01-01

119 developers

98 bugs

2,140 files

5,070 CVS logs

Page 17: Wcre2012 patterns slides (1)

17

1. Recovering File Edit History

Data Processing

2. Recovering File Change History

3. Identifying File Editing Patterns

bug Id

density of bug

Page 18: Wcre2012 patterns slides (1)

18

Research Questions

RQ1: Are there different file editing patterns?

RQ2: Do file editing patterns lead to more bugs?

RQ3: Do interactions among file editing patterns lead to more bugs?

Page 19: Wcre2012 patterns slides (1)

19

RQ1: Are there different file editing patterns?

Occurrences of file editing patterns and their interactions

0

500

1000

1500

2000

2500

1. Concurrent

2. Parallel

3. Extended

4. Interrupted

File editing patterns do exist

Combinations of patterns

Single Pattern

No

Patt

ern

Page 20: Wcre2012 patterns slides (1)

20

RQ2: Do concurrent editing pattern lead to more bugs?

Odds Ratio of two groups:

NC: no concurrent editing

C: concurrent editing

2.1 times more likely to experience a future bug if concurrent editing pattern happens

Page 21: Wcre2012 patterns slides (1)

21

RQ2: Level of involvement in concurrent editing pattern

Definition of Level average number of developers involved in a concurrent editing of a file.

0

1

2

3

No Pattern ≤3rd quantile > 3rd quantile

2.4* 1.6 Statistically significant

Not statistically significant

Page 22: Wcre2012 patterns slides (1)

22

RQ2: Do parallel editing patterns lead to more bugs?

Odds Ratio of two groups:

NP: no parallel editing

P: parallel editing

1.9 times more likely to experience a future bug if parallel editing pattern happens

Page 23: Wcre2012 patterns slides (1)

23

RQ2: Level of involvement in parallel editing pattern

Definition of Level average number of files edited in parallel with a file.

0

1

2

3

4

5

No Pattern ≤3rd quantile > 3rd quantile

1.3

3.8* Statistically significant

Not statistically significant

Page 24: Wcre2012 patterns slides (1)

24

RQ2: Do extended editing patterns lead to more bugs?

1.9 times more likely to experience a future bug if extended editing pattern happens

Odds Ratio of two groups:

NE: no extended editing

E: extended editing

Page 25: Wcre2012 patterns slides (1)

25

RQ2: Level of involvement in extended pattern

Definition of Level average editing time of a file.

0

0.5

1

1.5

2

No Pattern ≤3rd quantile > 3rd quantile

1.0

1.9* Statistically significant

Not statistically significant

Page 26: Wcre2012 patterns slides (1)

26

RQ2: Do interrupted editing patterns lead to more bugs?

1.6 times more likely to experience a future bug if interrupted editing pattern happens

Odds Ratio of two groups:

NI: no interrupted editing

I: interrupted editing

Page 27: Wcre2012 patterns slides (1)

27

RQ2: Level of involvement in interrupted pattern

Definition of Level average interruption time of a file.

0

0.5

1

1.5

2

No Pattern ≤3rd quantile > 3rd quantile

1.2 1.8*

Statistically significant

Not statistically significant

Page 28: Wcre2012 patterns slides (1)

28

RQ3: Do interactions among file editing patterns lead to more bugs?

Odds ratio of 16 groups.

0

1

2

3

4

5

6

1. Concurrent

2. Parallel

3. Extended

4. Interrupted

Combinations of patterns are more risky than single pattern

Combinations of patterns

Single Pattern

No

Patt

ern

Page 29: Wcre2012 patterns slides (1)

29

Conclusion

Page 30: Wcre2012 patterns slides (1)

30

Concurrent Parallel

Extended Interrupted

2.1 Odds Ratio 1.9 Odds

Ratio

1.9 Odds Ratio 1.6 Odds

Ratio

Page 31: Wcre2012 patterns slides (1)

31

Average Bug Density:

as high as 1.7 times

Single v.s. Interactions