SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2Tom Mens
 
Future Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionFuture Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionTom Mens
 
Social opposition to liberalism
Social opposition to liberalismSocial opposition to liberalism
Social opposition to liberalismLindsayBrown
 
Approaches to software model inconsistency management
Approaches to software model inconsistency managementApproaches to software model inconsistency management
Approaches to software model inconsistency managementTom 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 ecosystemsTom 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 ecosystemsTom 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 regionTom 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
 

En vedette (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...
 

Similaire à 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 ecosystemsPtidej 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 StudioBenoit Combemale
 
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 .docxaryan532920
 
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 GeowebGovernment/CU Denver
 
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 ReSpecTXStefano Mariani
 

Similaire à 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
 

Plus de 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 studentTom 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 developmentTom 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 GitHubTom 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 GitHubTom 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 FutureTom 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 GitHubTom 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 networksTom 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 RubygemsTom Mens
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero SpaceTom 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 messagesTom 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 ecosystemsTom 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 AchievementsTom Mens
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarTom 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 ManagersTom Mens
 

Plus de 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
 

Dernier

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Dernier (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

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