Technology: Does it Matter? Foutse Khomh foutse.khomh@polymtl.ca - - PowerPoint PPT Presentation

technology does it matter
SMART_READER_LITE
LIVE PREVIEW

Technology: Does it Matter? Foutse Khomh foutse.khomh@polymtl.ca - - PowerPoint PPT Presentation

Broadcast vs. Unicast Review Technology: Does it Matter? Foutse Khomh foutse.khomh@polymtl.ca @SWATLab 56th CREST Open Workshop Code review: What is in that name? 2 Code review: Why? Expectations, Outcomes, and Challenges of Modern


slide-1
SLIDE 1

Broadcast vs. Unicast Review Technology: Does it Matter?

Foutse Khomh

foutse.khomh@polymtl.ca @SWATLab

56th CREST Open Workshop

slide-2
SLIDE 2

Code review:

What is in that name?

2

slide-3
SLIDE 3

Code review:

Why?

3

“Expectations, Outcomes, and Challenges of Modern Code Review”

Alberto Bacchelli and Christian Bird - ICSE 2013

slide-4
SLIDE 4

Code review:

Common outcomes …

4

“Expectations, Outcomes, and Challenges of Modern Code Review”

Alberto Bacchelli and Christian Bird - ICSE 2013

slide-5
SLIDE 5

Code review:

Different types …

5

The Email Thread Pair Programming Over-the-Shoulder Tool-Assisted

slide-6
SLIDE 6

Code review:

Different types …

6

The Email Thread Pair Programming Over-the-Shoulder Tool-Assisted broadcast Unicast

slide-7
SLIDE 7

Work-flow and Status in Broadcast Environment

7

slide-8
SLIDE 8

Work-flow and Status in Unicast Environment

8

slide-9
SLIDE 9

9

Effectiveness Effort

Does the Medium Technology Used for Code Reviews Affects Reviews Activities

Efficiency

slide-10
SLIDE 10

10

Apache Pig

slide-11
SLIDE 11

11

Five Apache projects that transitioned from Broadcast to Unicast technology

Apache Pig

slide-12
SLIDE 12

Identification of the transition period

12

slide-13
SLIDE 13

Identification of the transition period

13

slide-14
SLIDE 14

Research Questions

  • RQ1: Is review effort related to the review medium

used?

  • RQ2: Is the effectiveness of a patch reviewing process

related to the medium used?

  • RQ3: Is the efficiency of a patch review process

related to the medium used?

14

slide-15
SLIDE 15

Data Extraction

15

slide-16
SLIDE 16

 Number of developers involved in a review (NV)  Number of rounds necessary to review a patch (NR)  Number of review requests for a patch (RQu)

16

slide-17
SLIDE 17

Approach

  • H0 : There is no significant difference between

the value of metric m for patches reviewed on broadcasts and those reviewed on unicast

17

 Mann-Whitney U test  Cliff’s Delta effect Size

slide-18
SLIDE 18

Findings

P-values Cliff’s d P-values Cliff’s d P-values Cliff’s d 0.843 Negligible 0.016 Large 0.012 Large 0.891 Negligible 0.021 Large 0.017 Large 0.902 Negligible 0.011 Large 0.031 Large 0.931 Negligible 0.017 Large 0.021 Large 0.915 Negligible 0.013 Large 0.019 Large

18

Number of developers Number of rounds Number of requests

slide-19
SLIDE 19

Findings

P-values Cliff’s d P-values Cliff’s d P-values Cliff’s d 0.843 Negligible 0.016 Large 0.012 Large 0.891 Negligible 0.021 Large 0.017 Large 0.902 Negligible 0.011 Large 0.031 Large 0.931 Negligible 0.017 Large 0.021 Large 0.915 Negligible 0.013 Large 0.019 Large

19

Number of developers Number of rounds Number of requests

More iterations and more requests on Unicast

slide-20
SLIDE 20

Findings

20

slide-21
SLIDE 21

Findings

21

slide-22
SLIDE 22

22

YES

Patches reviewed on unicast undergo more iterations, and Unicast’s reviewers are more active during code review.

slide-23
SLIDE 23

 Post review bugs  Median review rate (MRR)

23

slide-24
SLIDE 24

Approach

  • H0 : There is no significant difference between

the value of metric m for patches reviewed on broadcasts and those reviewed on unicast

24

 Mann-Whitney U test  Cliff’s Delta effect Size  The SZZ Algorithm to link bugs with reviewed patches

slide-25
SLIDE 25

Approach

  • SZZ Algorithm

25

slide-26
SLIDE 26

Findings

P-values Cliff’s d P-values Cliff’s d 0.015 Medium 0.021 Large 0.039 Medium 0.017 Large 0.031 Medium 0.014 Large 0.017 Medium 0.011 Large 0.008 Medium 0.031 Large

26

Post review bugs Median review rate

slide-27
SLIDE 27

Findings

P-values Cliff’s d P-values Cliff’s d 0.015 Medium 0.021 Large 0.039 Medium 0.017 Large 0.031 Medium 0.014 Large 0.017 Medium 0.011 Large 0.008 Medium 0.031 Large

27

Post review bugs Median review rate

Fewer post review bugs on Unicast and more review activities

slide-28
SLIDE 28

Findings

28

slide-29
SLIDE 29

Findings

29

slide-30
SLIDE 30

30

 Reviews performed on unicast technology are more effective in terms of catching.

slide-31
SLIDE 31

RQ3: Is the efficiency of a patch review process related to the medium used?

31

 Review length (in days) (RL)  Response delay (RD)

slide-32
SLIDE 32

Approach

  • H0 : There is no significant difference between

the value of metric m for patches reviewed on broadcasts and those reviewed on unicast

32

 Mann-Whitney U test  Cliff’s Delta effect Size

slide-33
SLIDE 33

Findings

P-values Cliff’s d P-values Cliff’s d 0.015 Large 0.019 Large 0.013 Large 0.016 Large 0.021 Large 0.011 Large 0.015 Large 0.012 Large 0.017 Large 0.022 Large

33

Review length Response delay

slide-34
SLIDE 34

Findings

P-values Cliff’s d P-values Cliff’s d 0.015 Large 0.019 Large 0.013 Large 0.016 Large 0.021 Large 0.011 Large 0.015 Large 0.012 Large 0.017 Large 0.022 Large

34

Review length Response delay

The review length and the response delay is shorter on broadcast

slide-35
SLIDE 35

Findings

35

slide-36
SLIDE 36

Size of the patches

36

slide-37
SLIDE 37

RQ3: Is the efficiency of a patch review process related to the medium used?

37

 Broadcast has a short response delay and a shorter review length.

slide-38
SLIDE 38

Survey of Developers

38

20 participants

slide-39
SLIDE 39

Survey of Developers

  • Q: What motivated the switch from broadcast to

unicast?

  • A: The broadcast is good for discussion

(functional/design/release etc.).

  • A: Unicast technology makes it easier to review

patches, track progress on bugs/issues, look up details on old issues, easier to make release notes on what has been fixed, and easier to

  • rganize releases.

39

slide-40
SLIDE 40

Survey of Developers

  • “New developers learn about the code

structure faster with broadcast than using unicast.”

  • “The traffic of patches circulating on

broadcast is high, because it circulates among all those who are subscribed to the broadcast medium.”

40

slide-41
SLIDE 41

Limitations

  • SZZ heuristic
  • The time window sizes
  • 5 Subject Systems

41

slide-42
SLIDE 42

42

slide-43
SLIDE 43

43

More details are available in the paper here: http://swat.polymtl.ca/~foutsekh/docs/ICST-Tita.pdf