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

Post on 17-Oct-2020

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

SIEMENS AG timowolf@siemens.com

Introduction

2

SIEMENS AG timowolf@siemens.com

Introduction

2

SIEMENS AG timowolf@siemens.com

Introduction

2

Build Failure- Compile Error- Test Failure

SIEMENS AG timowolf@siemens.com

IntroductionThe damn build broke again! WHY ?

2

Build Failure- Compile Error- Test Failure

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

Communication for collaboration

3

SIEMENS AG timowolf@siemens.com

Communication for collaboration

• Communication:

• Task related content

Task relatedContent &

Information

3

SIEMENS AG timowolf@siemens.com

Communication for collaboration

• Communication:

• Task related content

Task relatedContent &

Information

• Structure

3

SIEMENS AG timowolf@siemens.com

Communication for collaboration

• Communication:

• Task related content

Our focus:Communication Structure and relationship to coordination outcome

• Structure

3

SIEMENS AG timowolf@siemens.com 4

Study Settings: IBM Jazz

SIEMENS AG timowolf@siemens.com 4

Study Settings: IBM Jazz

IBM Research&

SIEMENS AG timowolf@siemens.com 5

Study Settings: IBM Jazz

151 developers

47 functional teams

SIEMENS AG timowolf@siemens.com 6

7 development sites in USA, Canada, Europe

Study Settings: IBM Jazz

SIEMENS AG timowolf@siemens.com 7

Study Settings: IBM Jazz

SIEMENS AG timowolf@siemens.com

Coordination & Integration in Jazz

8

SIEMENS AG timowolf@siemens.com

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

8

SIEMENS AG timowolf@siemens.com

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

8

!! !! !!

SIEMENS AG timowolf@siemens.com

Coordination & Integration in Jazz

Team A

Stream

Build 1

Team A Contributor 1 Contributor 2 Contributor 3

8

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

Research Questions

9

SIEMENS AG timowolf@siemens.com

! OK ERROR

Research Questions

9

SIEMENS AG timowolf@siemens.com

! OK ERROR

Research Questions

SNA Measurese.g. Density = 0.8

SNA Measurese.g. Density = 0.4predictmeasure predictmeasure

9

SIEMENS AG timowolf@siemens.com

! 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

SIEMENS AG timowolf@siemens.com

! 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

SIEMENS AG timowolf@siemens.com

Constructing Social Networks in Jazz

10

SIEMENS AG timowolf@siemens.com

Constructing Social Networks in Jazz

10

time

Stream

t0 t1

Build N

Failed

Previous

Build

Build N

Failed

Previous

Build

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

SNA Measures

11

SIEMENS AG timowolf@siemens.com

SNA Measures

12

SIEMENS AG timowolf@siemens.com

SNA Measures

13

SIEMENS AG timowolf@siemens.com

SNA Measures

14

SIEMENS AG timowolf@siemens.com

SNA Measures

15

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

RQ1: individual measure prediction?

17

SIEMENS AG timowolf@siemens.com

RQ1: individual measure prediction?

SN Build 1

SN Build 3

SN Build 4

SN Build 2

SN Build 5

SN Build 6

17

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

RQ2: multi measures prediction?

18

SIEMENS AG timowolf@siemens.com

?

RQ2: multi measures prediction?

18

SIEMENS AG timowolf@siemens.com

?

RQ2: multi measures prediction?

Bayesian Classifier

1. Train withall measures

18

SIEMENS AG timowolf@siemens.com

?

RQ2: multi measures prediction?

2. Input

Bayesian Classifier

1. Train withall measures

18

SIEMENS AG timowolf@siemens.com

?

RQ2: multi measures prediction?

2. Input3. Predict

Bayesian Classifier

1. Train withall measures

18

SIEMENS AG timowolf@siemens.com

?

RQ2: multi measures prediction?

2. Input3. Predict

Bayesian Classifier

1. Train withall measures

18

SIEMENS AG timowolf@siemens.com

Prediction Results

19

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

Summary

20

SIEMENS AG timowolf@siemens.com

Summary

• Quantitative empirical evidence:Communication structures make a difference!

20

SIEMENS AG timowolf@siemens.com

Summary

• Quantitative empirical evidence:Communication structures make a difference!

• Communication structures:

• impact integration build results

• are key for successful collaboration

20

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

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

SIEMENS AG timowolf@siemens.com

Practical Implications

• Communication assessment for future builds

• Notification system for build failures

• Communication structure improvement

21

SIEMENS AG timowolf@siemens.com

Future Work

• Factor analysis of combined measures

• Include technical information

• Prediction effectiveness case study

22

Questions?

Timo Wolftimowolf@siemens.com

Adrian Schröterschadr@uvic.ca

Daniela Damiandanielad@cs.uvic.ca

Thanh Nguyenduythanh@uvic.ca

http://segal.uvic.ca

SIEMENS AGCorporate TechnologySoftware & Engineering

Backup Slides

SIEMENS AG timowolf@siemens.com

Descriptive Statistics I

25

SIEMENS AG timowolf@siemens.com

Descriptive Statistics II

26

top related