how the evolution of emerging collaborations relates to code changes: an empirical study - icpc 2014

30
How the Evolution of Emerging Collaborations Relates to Code Changes: An Empirical Study Sebastiano Gerardo Massimiliano Rocco Panichella Canfora Di Penta Oliveto

Upload: sebastiano-panichella

Post on 26-Jun-2015

243 views

Category:

Presentations & Public Speaking


1 download

DESCRIPTION

Developers contributing to open source projects spontaneously group into "emerging" teams, re ected by messages ex-changed over mailing lists, issue trackers and other communication means. Previous studies suggested that such teams somewhat mirror the software modularity. This paper empirically investigates how, when a project evolves, emerging teams re-organize themselves|e.g., by splitting or merging. We relate the evolution of teams to the les they change, to investigate whether teams split to work on cohesive groups of fi les. Results of this study conducted on the evolution history of four open source projects, namely Apache HTTPD, Eclipse JDT, Netbeans, and Samba provide indications of what happens in the project when teams reorganize. Specifically, we found that emerging team splits imply working on more cohesive groups of les and emerging team merges imply working on groups of les that are cohesive from structural perspective. Such indications serve to better understand the evolution of software projects. More important, the observation of how emerging teams change can serve to suggest software remodularization actions.

TRANSCRIPT

Page 1: 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

Sebastiano Gerardo Massimiliano Rocco Panichella Canfora Di Penta Oliveto

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

Outline

Analysis of Teams Evolution:Teams identification from Emergent Collaborations

Conclusion and Future Work

Context and Motivation:Open Source Projects

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

Emergenging Teams in Open Source Project

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

Emergenging Teams in Open Source Project

Team 1

Team 2

Team n

...

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

Emergenging Teams in Open Source Project

Team 1

Team 2

Team n

...

SHARING KNOWLEDGEAND TECHINCAL SKILLS

New FeaturesBugs fixing ...................

...................

...................

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

Previous Work...

Hong Et al. - ICSM 2011

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

Previous Work...

Bird Et al. - FSE 2008

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

Analysis of the evolution of Teams: why?

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

Analysis of the evolution of Teams: why?

1) To better understand the ReasonsBehind the teams reorganization

(split/merge of developers teams)

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

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

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

Analysis of the evolution of Teams: how?

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

Teams Identification from Emergent Collaborations

Analysis of the evolution of Teams: how?

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

By use FUZZYCLUSTER ALGORITHMS

Teams Identification from Emergent Collaborations

Analysis of the evolution of Teams: how?

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

R1

By use FUZZYCLUSTER ALGORITHMS

R2

Analysis of the evolution of Teams: how?

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

TEAMS SPLIT

TEAMS MERGE

R1

By use FUZZYCLUSTER ALGORITHMS

R2

Analysis of the evolution of Teams: how?

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

R1

R2

By use FUZZYCLUSTER ALGORITHMS

Analysis of the evolution of Teams: how?

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

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?

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

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?

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

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

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

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?

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

RQ1: How do emerging collaborations change acrosssoftware releases?

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

Teams Split in a new release :

- In 15%-35% of the cases

RQ1: How do emerging collaborations change acrosssoftware releases?

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

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?

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

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%

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

TEAMS SPLIT

TEAMS MERGED

RQ2 : How does the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams?

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

TEAMS SPLIT

TEAMS MERGED

RQ2 : How does the evolution of emerging collaboration relate to the cohesiveness of files changed by emerging teams?

MQ

CCBC

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

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

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

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

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

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.

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