applying biological evolution to software ecosystems: a case study with gnome
DESCRIPTION
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 2012TRANSCRIPT
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 2012
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 1 / 19
Plan
Introduction
Evolutionary theories
Experiments on GNOME
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 2 / 19
Introduction
Plan
Introduction
Evolutionary theories
Experiments on GNOME
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 3 / 19
Introduction
Ecosystems
Biological ecosystem
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 4 / 19
Introduction
Ecosystems
Software ecosystem
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 5 / 19
Introduction
Analogy
Software 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
Evolutionary theories
Plan
Introduction
Evolutionary theories
Experiments on GNOME
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 7 / 19
Evolutionary theories
Darwinism
Phylogenetic tree
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 8 / 19
Evolutionary theories
Darwinism
Darwinism ⇒ project fork
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 9 / 19
Evolutionary theories
Reticulate evolution
Hypothetical evolution of Scleractinia corals
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 10 / 19
Evolutionary theories
Reticulate evolution
Horizontal gene transfer & Hybrid speciation
Debian
Ubuntu
Crunchbang
Maemo
Meego
Moblin
2003
2004
2005
2006
2007
2008
2009
2010
2011
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 11 / 19
Experiments on GNOME
Plan
Introduction
Evolutionary theories
Experiments on GNOME
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 12 / 19
Experiments on GNOME
Transfer of knowledge
Migration 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
Experiments on GNOME
GNOME’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 707least 1 commit (22.6%) (18.4%)# coders (authors 2892 494 300involved in coding) (17.1%) (10,4%)# coders in at least 2 1392 341 274projects and 2 consecutive years (24,5%) (19,7%)
# full years of activity 15 14 15considered period of 1998 1998 1999coding activity – 2011 – 2011 – 2011
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 14 / 19
Experiments on GNOME
GNOME, Nautilus & Evolution - Metrics
DevP (t) = {contributors ∈ P who made at least two code commits during period t}
stayersS (t) = |{a|∃P1 ∈ S, a ∈ DevP (t − 1) ∧ ∃P2 ∈ S, a ∈ DevP (t)}|
joinGlobalS (t) = |{a|∃P ∈ S, a ∈ DevP (t) ∧ ∀P ∈ G , a 6∈ DevP (t − 1)}|joinLocalS (t) = |{a|∃P ∈ S, a ∈ DevP (t) ∧ ∀P ∈ S, a 6∈ 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 6∈ DevP (t)}|leaveLocalS (t) = |{a|∃P ∈ S, a ∈ DevP (t − 1) ∧ ∀P ∈ S, a 6∈ DevP (t) ∧ ∃P ∈ G , a ∈ DevP (t)}|leaversS (t) = leaveGlobalS (t) + leaveLocalS (t)
attractivityS (t) =joinersS (t)
stayersS (t)+joinersS (t)
repulsivityS (t) =leaversS (t)
stayersS (t)+leaversS (t)
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 15 / 19
Experiments on GNOME
Attractivity & repulsivity
Figure: 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
Experiments on GNOME
Joiners & leavers origin
Figure: 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
Experiments on GNOME
Conclusion
Summary
◮ Analogy between software and biological ecosystems
◮ Adaptation of theory from biology to software: reticulate evolution
◮ Transfers in GNOME: Nautilus & Evolution have different behaviours
Future 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
Thanks for your attention!
Questions?
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 19 / 19
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