how the evolution of emerging collaborations relates to code changes: an empirical study - icpc 2014
Post on 26-Jun-2015
243 Views
Preview:
DESCRIPTION
TRANSCRIPT
How the Evolution of Emerging Collaborations Relates to
Code Changes: An Empirical Study
Sebastiano Gerardo Massimiliano Rocco Panichella Canfora Di Penta Oliveto
Outline
Analysis of Teams Evolution:Teams identification from Emergent Collaborations
Conclusion and Future Work
Context and Motivation:Open Source Projects
Emergenging Teams in Open Source Project
Emergenging Teams in Open Source Project
Team 1
Team 2
Team n
...
Emergenging Teams in Open Source Project
Team 1
Team 2
Team n
...
SHARING KNOWLEDGEAND TECHINCAL SKILLS
New FeaturesBugs fixing ...................
...................
...................
Previous Work...
Hong Et al. - ICSM 2011
Previous Work...
Bird Et al. - FSE 2008
Analysis of the evolution of Teams: why?
Analysis of the evolution of Teams: why?
1) To better understand the ReasonsBehind the teams reorganization
(split/merge of developers teams)
Analysis of the evolution of Teams: why?
1) To better understand the ReasonsBehind the teams reorganization
(split/merge of developers teams)
2) Investigate whether emerging teams evolve with the aim of working on more cohesivegroups of files
Analysis of the evolution of Teams: how?
Teams Identification from Emergent Collaborations
Analysis of the evolution of Teams: how?
By use FUZZYCLUSTER ALGORITHMS
Teams Identification from Emergent Collaborations
Analysis of the evolution of Teams: how?
R1
By use FUZZYCLUSTER ALGORITHMS
R2
Analysis of the evolution of Teams: how?
TEAMS SPLIT
TEAMS MERGE
R1
By use FUZZYCLUSTER ALGORITHMS
R2
Analysis of the evolution of Teams: how?
R1
R2
By use FUZZYCLUSTER ALGORITHMS
Analysis of the evolution of Teams: how?
R1
R2
By use FUZZYCLUSTER ALGORITHMS
Sub-system one Sub-system twoSub-systems two
Sub-System where developers working on....
Analysis of the evolution of Teams: how?
R1
R2
By use FUZZYCLUSTER ALGORITHMS
Sub-system one Sub-system twoSub-systems two
Sub-System where developers working on....
Mancoridis et al. Modul. Quality
Poshyvanyk et al. CCBC
StructurePersprective
ConceptualPersprective
Analysis of the evolution of Teams: how?
Apache HTTP Eclipse JDT Netbeans Samba
Period considered
09/1998-03/2012 01/2002-12/2011
01/2001-08/2012 01/2000-09/2011
Releases Considere
d
2.02.2.02.2.4
2.2.122.4.1
3.03.23.43.64.2
3.43.65.56.97.2
2.33.0.203.0.253.5.04.0
Systems characteristics: Period of time and Releases Considered
Case study
• Goal: analyze data from mailing lists/issue trackers and versioning systems
• Purpose: observe the reorganization of the teams between releases• MQ/CCBC: better understand (i) the reason behind the
reorganization of teams
Research Questions
RQ1: How do emerging collaborations change acrosssoftware releases?
RQ2: How does the evolution of emerging collaboration relate to the cohesiveness of files changed byemerging teams?
RQ1: How do emerging collaborations change acrosssoftware releases?
Teams Split in a new release :
- In 15%-35% of the cases
RQ1: How do emerging collaborations change acrosssoftware releases?
Teams Merge in a new release :
- in 20%-35% of the cases
Teams Split in a new release :
- In 15%-35% of the cases
RQ1: How do emerging collaborations change acrosssoftware releases?
Teams Merge in a new release :
- in 20%-35% of the cases
Teams Split in a new release :
- In 15%-35% of the cases
RQ1: How do emerging collaborations change acrosssoftware releases?
Teams desappeared:
22%-45%
Teams Survived:
50%-70%
TEAMS SPLIT
TEAMS MERGED
RQ2 : How does the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams?
TEAMS SPLIT
TEAMS MERGED
RQ2 : How does the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams?
MQ
CCBC
TEAMS SPLIT
TEAMS MERGED
RQ2 : How does the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams?
MQ
CCBC
MQ
CCBC
TEAMS SPLIT
TEAMS MERGED
RQ2 : How does the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams?
MQ
CCBC
MQ
CCBC
The re-organization of developers into teams is reflected in cohesive changes occurring in the system structure
Future Work
Building better recommenders for software re-modularization or refactoring based of social interaction between developers.
Extend the empirical investigation to a large number and variety of open source
projects.
top related