Wcre2012 patterns slides (1)
Transcript of Wcre2012 patterns slides (1)
![Page 1: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/1.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/2.jpg)
2
Do developers follow some file editing patterns?
Concurrent?
Extended?
Interrupted?
File Editing
![Page 3: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/3.jpg)
3
Concurrent?
Extended?
Interrupted?
?
?
?
What’s the impact on software quality?
File Editing
![Page 4: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/4.jpg)
4
Examples
![Page 5: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/5.jpg)
5
1. Example on concurrent editing
BugzillaTaskEditorPage.java
Frank Steffen Pingel David Green
![Page 6: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/6.jpg)
6
1. Concurrent Editing
Several developers edit the same file concurrently.
![Page 7: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/7.jpg)
7
2. Example on parallel editing
AbstractTaskEditorPage.java
Frank
TasksUiPlugin.java PlanningPerspectiveFactory.java
![Page 8: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/8.jpg)
8
2. Parallel Editing
Multiple files are edited in parallel by the same developer.
![Page 9: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/9.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/10.jpg)
10
3. Extended Editing
Developers spend longer time editing a file. (threshold: third quantile)
![Page 11: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/11.jpg)
11
4. Example on interrupted editing
TaskCompareDialog.java
338 hours
Mylyn Project
2 hours
164 times
![Page 12: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/12.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/13.jpg)
13
File Editing Patterns Summary
1. Concurrent Editing
2. Parallel Editing
3. Extended Editing
4. Interrupted Editing
![Page 14: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/14.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/15.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/16.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/17.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/18.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/19.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/20.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/21.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/22.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/23.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/24.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/25.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/26.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/27.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/28.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/29.jpg)
29
Conclusion
![Page 30: Wcre2012 patterns slides (1)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/30.jpg)
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)](https://reader033.fdocuments.us/reader033/viewer/2022042716/55cdfb3bbb61ebdc5b8b4861/html5/thumbnails/31.jpg)
31
Average Bug Density:
as high as 1.7 times
Single v.s. Interactions