SlideShare a Scribd company logo
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                                     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
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         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
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
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
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
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

More Related Content

Viewers also liked

MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2
Tom Mens
 
Future Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionFuture Research Challenges in Software Evolution
Future Research Challenges in Software Evolution
Tom Mens
 
Philosophers
PhilosophersPhilosophers
Philosophers
LindsayBrown
 
Social opposition to liberalism
Social opposition to liberalismSocial opposition to liberalism
Social opposition to liberalism
LindsayBrown
 
Approaches to software model inconsistency management
Approaches to software model inconsistency managementApproaches to software model inconsistency management
Approaches to software model inconsistency management
Tom Mens
 
Analysing the evolution of social aspects of open source software ecosystems
Analysing the evolution of social aspects of open source software ecosystemsAnalysing the evolution of social aspects of open source software ecosystems
Analysing the evolution of social aspects of open source software ecosystems
Tom Mens
 
Seconda: A tool for analysing software ecosystems
Seconda: A tool for analysing software ecosystemsSeconda: A tool for analysing software ecosystems
Seconda: A tool for analysing software ecosystems
Tom Mens
 
A survey on software quality practice - Pilot study in the Walloon region
A survey on software quality practice - Pilot study in the Walloon regionA survey on software quality practice - Pilot study in the Walloon region
A survey on software quality practice - Pilot study in the Walloon region
Tom Mens
 
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...
Tom Mens
 

Viewers also liked (9)

MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2
 
Future Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionFuture Research Challenges in Software Evolution
Future Research Challenges in Software Evolution
 
Philosophers
PhilosophersPhilosophers
Philosophers
 
Social opposition to liberalism
Social opposition to liberalismSocial opposition to liberalism
Social opposition to liberalism
 
Approaches to software model inconsistency management
Approaches to software model inconsistency managementApproaches to software model inconsistency management
Approaches to software model inconsistency management
 
Analysing the evolution of social aspects of open source software ecosystems
Analysing the evolution of social aspects of open source software ecosystemsAnalysing the evolution of social aspects of open source software ecosystems
Analysing the evolution of social aspects of open source software ecosystems
 
Seconda: A tool for analysing software ecosystems
Seconda: A tool for analysing software ecosystemsSeconda: A tool for analysing software ecosystems
Seconda: A tool for analysing software ecosystems
 
A survey on software quality practice - Pilot study in the Walloon region
A survey on software quality practice - Pilot study in the Walloon regionA survey on software quality practice - Pilot study in the Walloon region
A survey on software quality practice - Pilot study in the Walloon region
 
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...
 

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

130918 maelick claes - ecological studies of open source software ecosystems
130918   maelick claes - ecological studies of open source software ecosystems130918   maelick claes - ecological studies of open source software ecosystems
130918 maelick claes - ecological studies of open source software ecosystems
Ptidej Team
 
Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...
Tom Mens
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
Benoit Combemale
 
On Unified Stream Reasoning
On Unified Stream ReasoningOn Unified Stream Reasoning
On Unified Stream Reasoning
Daniele Dell'Aglio
 
A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY .docx
 A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY .docx A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY .docx
A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY .docx
aryan532920
 
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
Brad Evans
 
Comprehensive Overview of the Geoweb
Comprehensive Overview of the GeowebComprehensive Overview of the Geoweb
Comprehensive Overview of the Geoweb
Government/CU Denver
 
Mercator Ocean newsletter 46
Mercator Ocean newsletter 46Mercator Ocean newsletter 46
Mercator Ocean newsletter 46
Mercator Ocean International
 
Programming the Interaction Space Effectively with ReSpecTX
Programming the Interaction Space Effectively with ReSpecTXProgramming the Interaction Space Effectively with ReSpecTX
Programming the Interaction Space Effectively with ReSpecTX
Stefano Mariani
 

Similar to Applying biological evolution to software ecosystems: A case study with Gnome (9)

130918 maelick claes - ecological studies of open source software ecosystems
130918   maelick claes - ecological studies of open source software ecosystems130918   maelick claes - ecological studies of open source software ecosystems
130918 maelick claes - ecological studies of open source software ecosystems
 
Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
 
On Unified Stream Reasoning
On Unified Stream ReasoningOn Unified Stream Reasoning
On Unified Stream Reasoning
 
A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY .docx
 A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY .docx A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY .docx
A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY .docx
 
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
 
Comprehensive Overview of the Geoweb
Comprehensive Overview of the GeowebComprehensive Overview of the Geoweb
Comprehensive Overview of the Geoweb
 
Mercator Ocean newsletter 46
Mercator Ocean newsletter 46Mercator Ocean newsletter 46
Mercator Ocean newsletter 46
 
Programming the Interaction Space Effectively with ReSpecTX
Programming the Interaction Space Effectively with ReSpecTXProgramming the Interaction Space Effectively with ReSpecTX
Programming the Interaction Space Effectively with ReSpecTX
 

More from Tom Mens

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
Tom Mens
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
Tom Mens
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
Tom Mens
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
Tom Mens
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the Future
Tom Mens
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
Tom Mens
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
Tom Mens
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
Tom Mens
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Tom Mens
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
Tom Mens
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
Tom Mens
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
Tom Mens
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Tom Mens
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
Tom Mens
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
Tom Mens
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
Tom Mens
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Tom Mens
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
Tom Mens
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
Tom Mens
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
Tom Mens
 

More from Tom Mens (20)

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the Future
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 

Recently uploaded

Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 

Recently uploaded (20)

Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 

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

  • 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 2012 Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 1 / 19
  • 2. Plan Introduction Evolutionary theories Experiments on GNOME Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 2 / 19
  • 3. Introduction Plan Introduction Evolutionary theories Experiments on GNOME Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 3 / 19
  • 4. Introduction Ecosystems Biological ecosystem Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 4 / 19
  • 5. Introduction Ecosystems Software ecosystem Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 5 / 19
  • 6. 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
  • 7. Evolutionary theories Plan Introduction Evolutionary theories Experiments on GNOME Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 7 / 19
  • 8. Evolutionary theories Darwinism Phylogenetic tree Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 8 / 19
  • 9. Evolutionary theories Darwinism Darwinism ⇒ project fork Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 9 / 19
  • 10. Evolutionary theories Reticulate evolution Hypothetical evolution of Scleractinia corals Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 10 / 19
  • 11. Evolutionary theories Reticulate evolution Horizontal 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. Experiments on GNOME Plan Introduction Evolutionary theories Experiments on GNOME Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 12 / 19
  • 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