predicting build failures using social network analysis developer ... · social network analysis...
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 [email protected]
IntroductionThe damn build broke again! WHY ?
2
Build Failure- Compile Error- Test Failure
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
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
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
SIEMENS AG [email protected]
Communication for collaboration
• Communication:
• Task related content
Task relatedContent &
Information
3
SIEMENS AG [email protected]
Communication for collaboration
• Communication:
• Task related content
Task relatedContent &
Information
• Structure
3
SIEMENS AG [email protected]
Communication for collaboration
• Communication:
• Task related content
Our focus:Communication Structure and relationship to coordination outcome
• Structure
3
SIEMENS AG [email protected] 4
Study Settings: IBM Jazz
SIEMENS AG [email protected] 7
Study Settings: IBM Jazz
SIEMENS AG [email protected]
Coordination & Integration in Jazz
Team A
Stream
Build 1
Team A Contributor 1 Contributor 2 Contributor 3
8
SIEMENS AG [email protected]
Coordination & Integration in Jazz
Team A
Stream
Build 1
Team A Contributor 1 Contributor 2 Contributor 3
8
!! !! !!
SIEMENS AG [email protected]
Coordination & Integration in Jazz
Team A
Stream
Build 1
Team A Contributor 1 Contributor 2 Contributor 3
8
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
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
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
SIEMENS AG [email protected]
! OK ERROR
Research Questions
SNA Measurese.g. Density = 0.8
SNA Measurese.g. Density = 0.4predictmeasure predictmeasure
9
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
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
SIEMENS AG [email protected]
Constructing Social Networks in Jazz
10
time
Stream
t0 t1
Build N
Failed
Previous
Build
Build N
Failed
Previous
Build
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
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
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
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
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
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
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
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
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
SIEMENS AG [email protected]
?
RQ2: multi measures prediction?
Bayesian Classifier
1. Train withall measures
18
SIEMENS AG [email protected]
?
RQ2: multi measures prediction?
2. Input
Bayesian Classifier
1. Train withall measures
18
SIEMENS AG [email protected]
?
RQ2: multi measures prediction?
2. Input3. Predict
Bayesian Classifier
1. Train withall measures
18
SIEMENS AG [email protected]
?
RQ2: multi measures prediction?
2. Input3. Predict
Bayesian Classifier
1. Train withall measures
18
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
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
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
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
SIEMENS AG [email protected]
Summary
• Quantitative empirical evidence:Communication structures make a difference!
20
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
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
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
SIEMENS AG [email protected]
Practical Implications
• Communication assessment for future builds
• Notification system for build failures
• Communication structure improvement
21
SIEMENS AG [email protected]
Future Work
• Factor analysis of combined measures
• Include technical information
• Prediction effectiveness case study
22
Questions?
Timo [email protected]
Adrian Schrö[email protected]
Daniela [email protected]
Thanh [email protected]
http://segal.uvic.ca
SIEMENS AGCorporate TechnologySoftware & Engineering
Backup Slides