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
13. 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
14. 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 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. Experiments on GNOME
GNOME, 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. Experiments on GNOME
Attractivity & repulsivity
Figure: Attractivity and repulsivity of GNOME (black circles) and its subsystems
Evolution (red triangles) and Nautilus (blue squares).
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 16 / 19
17. Experiments on GNOME
Joiners & leavers origin
Figure: Number of coders locally (dotted lines) or globally (dashed lines) joining
and leaving Evolution (red triangles) and Nautilus (blue squares) from 1998 till
2011. Triangles or squares are filled if global exceeds local.
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 17 / 19
18. 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
19. Thanks for your attention!
Questions?
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 19 / 19
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