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
...
New Features
Bugs 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 Reasons
Behind the teams reorganization
(split/merge of developers teams)
Analysis of the evolution
of Teams: why?
1) To better understand the Reasons
Behind the teams reorganization
(split/merge of developers teams)
2) Investigate whether emerging teams evolve
with the aim of working on more cohesive
groups of files
Analysis of the evolution
of Teams: how?
Teams Identification from Emergent Collaborations
Analysis of the evolution
of Teams: how?
By use FUZZY
CLUSTER ALGORITHMS
Teams Identification from Emergent Collaborations
Analysis of the evolution
of Teams: how?
R1
By use FUZZY
CLUSTER ALGORITHMS
R2
Analysis of the evolution
of Teams: how?
TEAMS SPLIT
TEAMS MERGE
R1
By use FUZZY
CLUSTER ALGORITHMS
R2
Analysis of the evolution
of Teams: how?
R1
R2
By use FUZZY
CLUSTER ALGORITHMS
Analysis of the evolution
of Teams: how?
R1
R2
By use FUZZY
CLUSTER 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 FUZZY
CLUSTER ALGORITHMS
Sub-system one Sub-system twoSub-systems two
Sub-System where developers working on....
Mancoridis et al.
Modul. Quality
Poshyvanyk et al.
CCBC
Structure
Persprective
Conceptual
Persprective
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
Considered
2.0
2.2.0
2.2.4
2.2.12
2.4.1
3.0
3.2
3.4
3.6
4.2
3.4
3.6
5.5
6.9
7.2
2.3
3.0.20
3.0.25
3.5.0
4.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 across
software releases?
RQ2: How does the evolution of emerging collaboration
relate to the cohesiveness of files changed by
emerging teams?
RQ1: How do emerging collaborations change across
software releases?
Teams Split in a new release :
- In 15%-35% of the
cases
RQ1: How do emerging collaborations change across
software 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 across
software 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 across
software 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?
MQCCBC
TEAMS
SPLIT
TEAMS
MERGED
RQ2 : How does the evolution of emerging collaboration relate to the cohesiveness
of files changed by emerging teams?
MQCCBC
MQCCBC
TEAMS
SPLIT
TEAMS
MERGED
RQ2 : How does the evolution of emerging collaboration relate to the cohesiveness
of files changed by emerging teams?
MQCCBC
MQCCBC
Future Work
How the Evolution of Emerging Collaborations Relates to Code Changes: An Empirical Study - ICPC 2014

How the Evolution of Emerging Collaborations Relates to Code Changes: An Empirical Study - ICPC 2014

  • 1.
    How the Evolutionof Emerging Collaborations Relates to Code Changes: An Empirical Study Sebastiano Gerardo Massimiliano Rocco Panichella Canfora Di Penta Oliveto
  • 2.
    Outline Analysis of TeamsEvolution: Teams identification from Emergent Collaborations Conclusion and Future Work Context and Motivation: Open Source Projects
  • 3.
    Emergenging Teams inOpen Source Project
  • 4.
    Emergenging Teams inOpen Source Project Team 1 Team 2 Team n ...
  • 5.
    Emergenging Teams inOpen Source Project Team 1 Team 2 Team n ... New Features Bugs fixing ................... ................... ...................
  • 6.
    Previous Work... Hong Etal. - ICSM 2011
  • 7.
  • 8.
    Analysis of theevolution of Teams: why?
  • 9.
    Analysis of theevolution of Teams: why? 1) To better understand the Reasons Behind the teams reorganization (split/merge of developers teams)
  • 10.
    Analysis of theevolution of Teams: why? 1) To better understand the Reasons Behind the teams reorganization (split/merge of developers teams) 2) Investigate whether emerging teams evolve with the aim of working on more cohesive groups of files
  • 11.
    Analysis of theevolution of Teams: how?
  • 12.
    Teams Identification fromEmergent Collaborations Analysis of the evolution of Teams: how?
  • 13.
    By use FUZZY CLUSTERALGORITHMS Teams Identification from Emergent Collaborations Analysis of the evolution of Teams: how?
  • 14.
    R1 By use FUZZY CLUSTERALGORITHMS R2 Analysis of the evolution of Teams: how?
  • 15.
    TEAMS SPLIT TEAMS MERGE R1 Byuse FUZZY CLUSTER ALGORITHMS R2 Analysis of the evolution of Teams: how?
  • 16.
    R1 R2 By use FUZZY CLUSTERALGORITHMS Analysis of the evolution of Teams: how?
  • 17.
    R1 R2 By use FUZZY CLUSTERALGORITHMS Sub-system one Sub-system twoSub-systems two Sub-System where developers working on.... Analysis of the evolution of Teams: how?
  • 18.
    R1 R2 By use FUZZY CLUSTERALGORITHMS Sub-system one Sub-system twoSub-systems two Sub-System where developers working on.... Mancoridis et al. Modul. Quality Poshyvanyk et al. CCBC Structure Persprective Conceptual Persprective Analysis of the evolution of Teams: how?
  • 19.
    Apache HTTP EclipseJDT Netbeans Samba Period considered 09/1998-03/2012 01/2002- 12/2011 01/2001- 08/2012 01/2000-09/2011 Releases Considered 2.0 2.2.0 2.2.4 2.2.12 2.4.1 3.0 3.2 3.4 3.6 4.2 3.4 3.6 5.5 6.9 7.2 2.3 3.0.20 3.0.25 3.5.0 4.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
  • 20.
    Research Questions RQ1: Howdo emerging collaborations change across software releases? RQ2: How does the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams?
  • 21.
    RQ1: How doemerging collaborations change across software releases?
  • 22.
    Teams Split ina new release : - In 15%-35% of the cases RQ1: How do emerging collaborations change across software releases?
  • 23.
    Teams Merge ina 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 across software releases?
  • 24.
    Teams Merge ina 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 across software releases? Teams desappeared: 22%-45% Teams Survived: 50%-70%
  • 25.
    TEAMS SPLIT TEAMS MERGED RQ2 : Howdoes the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams?
  • 26.
    TEAMS SPLIT TEAMS MERGED RQ2 : Howdoes the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams? MQCCBC
  • 27.
    TEAMS SPLIT TEAMS MERGED RQ2 : Howdoes the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams? MQCCBC MQCCBC
  • 28.
    TEAMS SPLIT TEAMS MERGED RQ2 : Howdoes the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams? MQCCBC MQCCBC
  • 29.

Editor's Notes

  • #3 Thus, this presentation is composed by three parts, a first part where, I will discuss about the context and motivation of our work and why it is important study teams evolution After that I ‘m going to present how we identify and analyze the evolution of emerging teams for several software projects… And finally I will discuss conclusions and future directions…. Fine… So the context of our preliminar study is the software development in open source project Where...
  • #4 As we know an open source community can be seen as a complex self-organizing system in which developers contributing to open source projects spontaneously group into emerging" teams… …..emerging" teams that work together sharing knowledge and technical skills In order to Apply maintenance activity, like for example, add new features in the project, fix bugs and so on… With the main purpose to grow the project and ensure its success.. This has motivated a lot of research effort in mining the social networking among developers…
  • #5 As we know an open source community can be seen as a complex self-organizing system in which developers contributing to open source projects spontaneously group into emerging" teams… …..emerging" teams that work together sharing knowledge and technical skills In order to Apply maintenance activity, like for example, add new features in the project, fix bugs and so on… With the main purpose to grow the project and ensure its success.. This has motivated a lot of research effort in mining the social networking among developers…
  • #6 As we know an open source community can be seen as a complex self-organizing system in which developers contributing to open source projects spontaneously group into emerging" teams… …..emerging" teams that work together sharing knowledge and technical skills In order to Apply maintenance activity, like for example, add new features in the project, fix bugs and so on… With the main purpose to grow the project and ensure its success.. This has motivated a lot of research effort in mining the social networking among developers…
  • #7 FOR EXAMPLE: The work by Hong at al. compare DSNs built considering as source issue trackers discussions with popular GSNs such as Facebook, Twitter, Cyworld. and found that while most social networks exhibit power law degree distributions, DSNs do not. where "Power-law node degree distribution" means to have only a few nodes with very high degree and a large number of nodes with low degree. We share with this work, the analysis of the DSNs evolution over time, and in particular, the analysis of the events within a project, such as a release of new software, tha impact the DSNs structure, for exampe if split/merge of developers sub-communities in the project are reflected in release of new software.
  • #8 In the work of Bird et al. The authors analyze the developers community from mailinglists and they found how the sub communities identified using communication information are significantly connected with collaboration behavior. However, in summary, all these past works did not analyzed in details the evolution of the teams during the time, and for example “the reasons behind the reorganization of teams….”
  • #9 So, we study and analyzed the evolution of teams with the porpuse To better understand the Reasons Behind the teams reorganization, Focusing on, split and merge of developers teams And Investigate whether emerging teams evolve with the aim of working on more cohesive groups of files
  • #10 So, we study and analyzed the evolution of teams with the porpuse To better understand the Reasons Behind the teams reorganization, Focusing on, split and merge of developers teams And Investigate whether emerging teams evolve with the aim of working on more cohesive groups of files
  • #31 In conclusion we analysed the evolution of emerging collaborations between developers with the aim at investigate how collaborations changes over the time, verifying the coesiveness of the changes performed by such teams. What we found is that…between releases there is a continuous Recombination of the teams, where however a conspicuous number of teams survive between subsequent release…” And The re-organization of developers into teams is reflected in cohesive changes occurring in the system structure…