Applying Biological Evolution to Software Ecosystems             A Case study with GNOME                                 M...
PlanIntroductionEvolutionary theoriesExperiments on GNOME  Maëlick Claes (UMONS)   Biological Evol. & Software Ecos.   BEN...
IntroductionPlanIntroductionEvolutionary theoriesExperiments on GNOME  Maëlick Claes (UMONS)   Biological Evol. & Software...
IntroductionEcosystemsBiological ecosystem  Maëlick Claes (UMONS)   Biological Evol. & Software Ecos.   BENEVOL 2012   4 /...
IntroductionEcosystemsSoftware ecosystem  Maëlick Claes (UMONS)   Biological Evol. & Software Ecos.   BENEVOL 2012   5 / 19
IntroductionAnalogySoftware project vs. Biological species  ◮   Evolution speed  ◮   Mechanisms driving evolution  ◮   Ope...
Evolutionary theoriesPlanIntroductionEvolutionary theoriesExperiments on GNOME  Maëlick Claes (UMONS)        Biological Ev...
Evolutionary theoriesDarwinismPhylogenetic tree  Maëlick Claes (UMONS)        Biological Evol. & Software Ecos.   BENEVOL ...
Evolutionary theoriesDarwinismDarwinism ⇒ project fork  Maëlick Claes (UMONS)        Biological Evol. & Software Ecos.   B...
Evolutionary theoriesReticulate evolutionHypothetical evolution of Scleractinia corals  Maëlick Claes (UMONS)        Biolo...
Evolutionary theoriesReticulate evolutionHorizontal gene transfer & Hybrid speciation                          Debian     ...
Experiments on GNOMEPlanIntroductionEvolutionary theoriesExperiments on GNOME  Maëlick Claes (UMONS)          Biological E...
Experiments on GNOMETransfer of knowledgeMigration patterns  ◮   Migration (one-way transfer)  ◮   Exchange (bidirectional...
Experiments on GNOMEGNOME’s subsystems - Nautilus & Evolution                                                             ...
Experiments on GNOMEGNOME, Nautilus & Evolution - Metrics DevP (t)            =   {contributors ∈ P who made at least two ...
Experiments on GNOMEAttractivity & repulsivityFigure: Attractivity and repulsivity of GNOME (black circles) and its subsys...
Experiments on GNOMEJoiners & leavers originFigure: Number of coders locally (dotted lines) or globally (dashed lines) joi...
Experiments on GNOMEConclusionSummary  ◮   Analogy between software and biological ecosystems  ◮   Adaptation of theory fr...
Thanks for your attention!                                  Questions?Maëlick Claes (UMONS)       Biological Evol. & Softw...
Applying biology to computer science  ◮   Genetic algorithms, neural networks, ant colony, . . .  ◮   In software engineer...
Upcoming SlideShare
Loading in …5
×

Applying biological evolution to software ecosystems: A case study with Gnome

493 views

Published on

Presented by Maelick Claes (Software Engineering Lab, Département d'Informatique, COMPLEXYS Research Insitute of UMONS) at BENEVOL 2012 research seminar on software evolution in Delft, The Netherlands, 3 December 2012

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
493
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Applying biological evolution to software ecosystems: A case study with Gnome

  1. 1. Applying Biological Evolution to Software Ecosystems A Case study with GNOME Maëlick Claes Software Engineering Lab Maëlick Claes, Tom Mens, Alexander Serebrenik (TUe), Mathieu Goeminne & Philippe Grosjean (ECONUM, UMONS) BENEVOL 2012Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 1 / 19
  2. 2. PlanIntroductionEvolutionary theoriesExperiments on GNOME Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 2 / 19
  3. 3. IntroductionPlanIntroductionEvolutionary theoriesExperiments on GNOME Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 3 / 19
  4. 4. IntroductionEcosystemsBiological ecosystem Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 4 / 19
  5. 5. IntroductionEcosystemsSoftware ecosystem Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 5 / 19
  6. 6. IntroductionAnalogySoftware project vs. Biological species ◮ Evolution speed ◮ Mechanisms driving evolution ◮ Open source ecosystems: exhaustive information ◮ Version control system ◮ Mailing lists ◮ Bug tracking systems ◮ ... Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 6 / 19
  7. 7. Evolutionary theoriesPlanIntroductionEvolutionary theoriesExperiments on GNOME Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 7 / 19
  8. 8. Evolutionary theoriesDarwinismPhylogenetic tree Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 8 / 19
  9. 9. Evolutionary theoriesDarwinismDarwinism ⇒ project fork Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 9 / 19
  10. 10. Evolutionary theoriesReticulate evolutionHypothetical evolution of Scleractinia corals Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 10 / 19
  11. 11. Evolutionary theoriesReticulate evolutionHorizontal gene transfer & Hybrid speciation Debian 2003 Ubuntu 2004 Maemo 2005 2006 Crunchbang 2007 Moblin 2008 2009 Meego 2010 2011 Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 11 / 19
  12. 12. Experiments on GNOMEPlanIntroductionEvolutionary theoriesExperiments on GNOME Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 12 / 19
  13. 13. Experiments on GNOMETransfer of knowledgeMigration patterns ◮ Migration (one-way transfer) ◮ Exchange (bidirectional transfer) ◮ Period transfer (cyclic transfer) ◮ Parallel work Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 13 / 19
  14. 14. Experiments on GNOMEGNOME’s subsystems - Nautilus & Evolution GNOME Evolution Nautilus # projects 1327 21 21 # projects with at least 2 days of commits 1263 19 20 # projects with coding activity 1268 20 20 # projects with coding activity and at least 2 days of commits 1222 19 20 # commits 1169251 66687 25860 (5.7%) (2.21%) # coding commits 606300 44150 13133 (7.28%) (2.17%) # authors with at 3841 867 707 least 1 commit (22.6%) (18.4%) # coders (authors 2892 494 300 involved in coding) (17.1%) (10,4%) # coders in at least 2 1392 341 274 projects and 2 consecutive years (24,5%) (19,7%) # full years of activity 15 14 15 considered period of 1998 1998 1999 coding activity – 2011 – 2011 – 2011 Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 14 / 19
  15. 15. Experiments on GNOMEGNOME, Nautilus & Evolution - Metrics DevP (t) = {contributors ∈ P who made at least two code commits during period t} stayers S (t) = |{a|∃P1 ∈ S, a ∈ DevP (t − 1) ∧ ∃P2 ∈ S, a ∈ DevP (t)}| joinGlobalS (t) = |{a|∃P ∈ S, a ∈ DevP (t) ∧ ∀P ∈ G , a ∈ DevP (t − 1)}| joinLocalS (t) = |{a|∃P ∈ S, a ∈ DevP (t) ∧ ∀P ∈ S, a ∈ DevP (t − 1) ∧ ∃P ∈ G , a ∈ DevP (t − 1)}| joinersS (t) = joinGlobalS (t) + joinLocalS (t) leaveGlobalS (t) = |{a|∃P ∈ S, a ∈ DevP (t − 1) ∧ ∀P ∈ G , a ∈ DevP (t)}| leaveLocalS (t) = |{a|∃P ∈ S, a ∈ DevP (t − 1) ∧ ∀P ∈ S, a ∈ DevP (t) ∧ ∃P ∈ G , a ∈ DevP (t)}| leaversS (t) = leaveGlobalS (t) + leaveLocalS (t) joinersS (t) attractivityS (t) = stayers S (t)+joiners S (t) leaversS (t) repulsivityS (t) = stayers S (t)+leavers S (t) Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 15 / 19
  16. 16. Experiments on GNOMEAttractivity & repulsivityFigure: Attractivity and repulsivity of GNOME (black circles) and its subsystemsEvolution (red triangles) and Nautilus (blue squares). Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 16 / 19
  17. 17. Experiments on GNOMEJoiners & leavers originFigure: Number of coders locally (dotted lines) or globally (dashed lines) joiningand leaving Evolution (red triangles) and Nautilus (blue squares) from 1998 till2011. Triangles or squares are filled if global exceeds local. Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 17 / 19
  18. 18. Experiments on GNOMEConclusionSummary ◮ Analogy between software and biological ecosystems ◮ Adaptation of theory from biology to software: reticulate evolution ◮ Transfers in GNOME: Nautilus & Evolution have different behavioursFuture works ◮ Migration patterns ◮ More data: bug trackers and mailing lists ◮ Time window ◮ Other ecosystems (KDE) or other subsystems (Gedit, GIMP) ◮ Lower granularity (files vs. commits) ◮ Different activities (translation) Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 18 / 19
  19. 19. Thanks for your attention! Questions?Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 19 / 19
  20. 20. Applying biology to computer science ◮ Genetic algorithms, neural networks, ant colony, . . . ◮ In software engineering & software evolution: ◮ DeLesley Hutchins. A biologist’s view of software evolution. In RAM-SE, pages 95–105. Fakultät für Informatik, Universität Magdeburg, 2005 ◮ Chrystopher L. Nehanic et al. What software evolution and biological evolution don’t have in common. In Second International IEEE Workshop on Software Evolvablility, pages 58–65, 2006 ◮ Davor Svetinovic et al. Software and biological evolution: Some common principles, mechanisms, and a definition. Technical report, 2006 ◮ Deepak Dhungana et al. Software ecosystems vs. natural ecosystems: learning from the ingenious mind of nature. In Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, ECSA ’10, pages 96–102, New York, NY, USA, 2010. ACM Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 20 / 19

×