predicting build failures using social network analysis developer ... · social network analysis...

68
Predicting Build Failures using Social Network Analysis on Developer Communication Timo Wolf Adrian Schröter Daniela Damian Thanh Nguyen SIEMENS AG Corporate Technology Software & Engineering Software Engineering Global interAction Lab – SEGAL Computer Science Department University of Victoria, BC Canada

Upload: others

Post on 17-Oct-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

Predicting Build Failuresusing Social Network Analysis

on Developer Communication

Timo Wolf Adrian Schröter Daniela Damian Thanh NguyenSIEMENS AGCorporate TechnologySoftware & Engineering

Software Engineering Global interAction Lab – SEGALComputer Science DepartmentUniversity of Victoria, BC Canada

Page 4: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Introduction

2

Build Failure- Compile Error- Test Failure

Page 5: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

IntroductionThe damn build broke again! WHY ?

2

Build Failure- Compile Error- Test Failure

Page 6: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

IntroductionThe damn build broke again! WHY ?

DB changed!But that’s transparent.Analyses takes time!

We should have talked earlier!

2

Build Failure- Compile Error- Test Failure

Page 7: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Introduction

• Collaboration essential in software development

• Communication problems lead to coordination and integration failures

The damn build broke again! WHY ?

DB changed!But that’s transparent.Analyses takes time!

We should have talked earlier!

2

Build Failure- Compile Error- Test Failure

Page 8: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Introduction

• Collaboration essential in software development

• Communication problems lead to coordination and integration failures

Do specific communication behaviors enable effective and successful coordination?

The damn build broke again! WHY ?

DB changed!But that’s transparent.Analyses takes time!

We should have talked earlier!

2

Build Failure- Compile Error- Test Failure

Page 9: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Communication for collaboration

3

Page 10: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Communication for collaboration

• Communication:

• Task related content

Task relatedContent &

Information

3

Page 11: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Communication for collaboration

• Communication:

• Task related content

Task relatedContent &

Information

• Structure

3

Page 12: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Communication for collaboration

• Communication:

• Task related content

Our focus:Communication Structure and relationship to coordination outcome

• Structure

3

Page 13: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected] 4

Study Settings: IBM Jazz

Page 14: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected] 4

Study Settings: IBM Jazz

IBM Research&

Page 15: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected] 5

Study Settings: IBM Jazz

151 developers

47 functional teams

Page 16: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected] 6

7 development sites in USA, Canada, Europe

Study Settings: IBM Jazz

Page 17: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected] 7

Study Settings: IBM Jazz

Page 18: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Coordination & Integration in Jazz

8

Page 19: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

8

Page 20: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

8

!! !! !!

Page 21: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

8

Page 22: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

Team B

Stream

Build 1

commits changes

Team B Contributor 4 Contributor 5 Contributor 6

ChangeSets

8

Page 23: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

Team B

Stream

Build 1

commits changes

Team B Contributor 4 Contributor 5 Contributor 6

ChangeSets

ProjectBuild 1Project

IntegrationStream

publish changesget changes

8

Page 24: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

Team B

Stream

Build 1

commits changes

Team B Contributor 4 Contributor 5 Contributor 6

ChangeSets

ProjectBuild 1Project

IntegrationStream

publish changesget changes

Coordination Outcome: Build Result8

Page 26: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

! OK ERROR

Research Questions

9

Page 27: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

! OK ERROR

Research Questions

SNA Measurese.g. Density = 0.8

SNA Measurese.g. Density = 0.4predictmeasure predictmeasure

9

Page 28: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

! OK ERROR

Research Questions

• RQ1: Can individual measures of communication structure predict integration failure?

SNA Measurese.g. Density = 0.8

SNA Measurese.g. Density = 0.4predictmeasure predictmeasure

9

Page 29: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

! OK ERROR

Research Questions

• RQ1: Can individual measures of communication structure predict integration failure?

• RQ2: Can the combination of communication structure measures predict integration failure?

SNA Measurese.g. Density = 0.8

SNA Measurese.g. Density = 0.4predictmeasure predictmeasure

9

Page 30: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Constructing Social Networks in Jazz

10

Page 31: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Constructing Social Networks in Jazz

10

time

Stream

t0 t1

Build N

Failed

Previous

Build

Build N

Failed

Previous

Build

Page 32: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Constructing Social Networks in Jazz

10

Build N Network

c1

c2

c3

c4

time

Stream

t0 t1

Build N

Failed

Previous

Build

Build N

Failed

Previous

Build

Page 33: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Constructing Social Networks in Jazz

10

Build N Network

c1

c2

c3

c4

time

Stream

t0 t1

Build N

Failed

Previous

Build

Build N

Failed

Previous

Build

c1c2 c3 c4

Page 34: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Constructing Social Networks in Jazz

10

Build N Network

c1

c2

c3

c4

time

Stream

t0 t1

Build N

Failed

Previous

Build

Build N

Failed

Previous

Build

w1 w2

c1c2 c3 c4

Page 35: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Constructing Social Networks in Jazz

10

Build N Network

c1

c2

c3

c4

time

Stream

t0 t1

Build N

Failed

Previous

Build

Build N

Failed

Previous

Build

w1 w2

c1c2 c3 c4

Page 36: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Constructing Social Networks in Jazz

10

Build N Network

c1

c2

c3

c4

SNA

quantitativemeasures

of communication structure

time

Stream

t0 t1

Build N

Failed

Previous

Build

Build N

Failed

Previous

Build

Social NetworkAnalysis (SNA)

w1 w2

c1c2 c3 c4

Page 42: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Data Collection & Selection

• Time Range: Nov. 5, 2007 - Feb. 26, 2008

• 1288 Build Results

• 25713 Work Items

• 71019 Comments

• Selected Build Results of 5 Teams

• Selected 3 Integration Builds (nightly, weekly, beta)

16

Page 43: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

RQ1: individual measure prediction?

17

Page 44: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

RQ1: individual measure prediction?

SN Build 1

SN Build 3

SN Build 4

SN Build 2

SN Build 5

SN Build 6

17

Page 45: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

RQ1: individual measure prediction?

SN Build 1

SN Build 3

SN Build 4

SN Build 2

SN Build 5

SN Build 6

Social Network Measures

• Densityfor Completeness

• Degree Centralityfor Activity

• Betweenness Centralityfor Control

• Structural Holesfor Redundancy

17

Page 46: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

RQ1: individual measure prediction?

SN Build 1

SN Build 3

SN Build 4

SN Build 2

SN Build 5

SN Build 6

Social Network Measures

• Densityfor Completeness

• Degree Centralityfor Activity

• Betweenness Centralityfor Control

• Structural Holesfor Redundancy

No statistically significant difference!

17

Page 47: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

RQ2: multi measures prediction?

18

Page 48: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

?

RQ2: multi measures prediction?

18

Page 49: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

?

RQ2: multi measures prediction?

Bayesian Classifier

1. Train withall measures

18

Page 50: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

?

RQ2: multi measures prediction?

2. Input

Bayesian Classifier

1. Train withall measures

18

Page 51: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

?

RQ2: multi measures prediction?

2. Input3. Predict

Bayesian Classifier

1. Train withall measures

18

Page 52: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

?

RQ2: multi measures prediction?

2. Input3. Predict

Bayesian Classifier

1. Train withall measures

18

Page 54: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Prediction ResultsERROR Team Builds Project Builds

B C F P W nightly weekly beta

Recall 55% 75% 62% 66% 74% 89% 100% 92%

Precision 52% 50% 75% 76% 66% 73% 92% 92%

19

Page 55: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Prediction ResultsERROR Team Builds Project Builds

B C F P W nightly weekly beta

Recall 55% 75% 62% 66% 74% 89% 100% 92%

Precision 52% 50% 75% 76% 66% 73% 92% 92%

19

Page 56: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Prediction Results

• Recall:

• 62 of 100 failed builds are classified correctly

ERROR Team Builds Project Builds

B C F P W nightly weekly beta

Recall 55% 75% 62% 66% 74% 89% 100% 92%

Precision 52% 50% 75% 76% 66% 73% 92% 92%

19

Page 57: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Prediction Results

• Recall:

• 62 of 100 failed builds are classified correctly

• Precision:

• 75 of 100 failure predictions are actual failures

• 75% confidence that a prediction is correct

ERROR Team Builds Project Builds

B C F P W nightly weekly beta

Recall 55% 75% 62% 66% 74% 89% 100% 92%

Precision 52% 50% 75% 76% 66% 73% 92% 92%

19

Page 59: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Summary

• Quantitative empirical evidence:Communication structures make a difference!

20

Page 60: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Summary

• Quantitative empirical evidence:Communication structures make a difference!

• Communication structures:

• impact integration build results

• are key for successful collaboration

20

Page 61: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Summary

• Quantitative empirical evidence:Communication structures make a difference!

• Communication structures:

• impact integration build results

• are key for successful collaboration

• Single measures do not predict build results

20

Page 62: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Summary

• Quantitative empirical evidence:Communication structures make a difference!

• Communication structures:

• impact integration build results

• are key for successful collaboration

• Single measures do not predict build results

• Combination measures do predict build results

20

Page 63: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Practical Implications

• Communication assessment for future builds

• Notification system for build failures

• Communication structure improvement

21

Page 64: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Future Work

• Factor analysis of combined measures

• Include technical information

• Prediction effectiveness case study

22

Page 66: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

Backup Slides

Page 67: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Descriptive Statistics I

25

Page 68: Predicting Build Failures using Social Network Analysis Developer ... · Social Network Analysis (SNA) w1 w2 c1 c2 c3 c4. SIEMENS AG timowolf@siemens.com SNA Measures 11. SIEMENS

SIEMENS AG [email protected]

Descriptive Statistics II

26