SlideShare une entreprise Scribd logo
1  sur  40
Software Ecosystem Evolution. It’s complex!
Tom Mens, COMPLEXYS Research Institute
University of Mons, Belgium
http://blog.christianposta.com/images/disorg
anized.png
Software Ecosystems
A software ecosystem is a collection
of [inderdependent] software
projects that are developed and
evolve together in the same
environment. Mircea Lungu
(PhD, 2008)
3
Software Ecosystems
Gnom
e
CRAN
Debian Ubuntu KDE
JavaScript Ruby Python
Interdisciplinary research
“Many challenges we face are not solvable by people
remaining in their single discipline silos”…
www.newscientist.com/article/mg20928002-100-open-your-mind-to-interdisciplinary-research/
Interdisciplinary research
Ecological Studies of Open Source Software Ecosystems
• Use ideas from biological ecology to understand
and improve evolution of software ecosystems
• Ongoing research project (2012-2017)
in collaboration with Prof. Philippe Grosjean
COMPLEXYS Research Institute of UMONS
• Use ideas from complex systems research
across different scientific disciplines.
ECOS
Research
Team
Software Ecosystems
Are huge !
https://www.montereybayaquarium.org/animal-guide/marine-mammals/blue-whale
CRAN
Andrie de Vries
http://blog.revolutionanalytics.com/2015/07/the-network-structure-of-cran.html
Package dependency graph
> 9K active packages
> 21K dependencies
in April 2016
Kevin Gullikson
http://kgullikson88.github.io/blog/pypi-analysis.html
> 56K packages
> 53K dependencies
in February 2016
> 317K packages
> 728K dependencies
in June 2016
https://exploringdata.github.io/vis/npm-packages-dependencies/ (July 2013)
Software Ecosystems
Are inherently socio-technical
– Thousands of interdependent
software parts
– Thousands of interacting
contributors
T Mens. An ecosystemic and socio-
technical view on software maintenance
and evolution. ICSME 2016 keynote.
Software Ecosystems
Are difficult to manage
– Unclear structure
– Backward incompatible changes, breaking
dependencies
– Unexpected removal of software components
– Departure of key contributors
– Cascading security problems
– Nontransparent painful submission/update policies
– Violations of policies (versioning, licensing, …)
Software Ecosystems
Are all different
Every software ecosystem
– has specific habits, expectations, change policies
– uses specific tools
Bogart et al. How to break an API: Cost negotiation and community values in
three software ecosystems. FSE 2016
Software Ecosystems
Share similar topologies
– Most non-isolated packages (~90%) belong to a
single weakly-connected component
Alexandre Decan, Tom Mens, Maelick Claes:
- On the topology of package dependency networks: A comparison of programming language
ecosystems, WEA 2016
- An empirical comparison of dependency issues in OSS packaging ecosystems, SANER 2017
Software Ecosystems
Are growing superlinearly over time
Mirroring hypothesis
Conway’s law
Software structure tends to mirror the
organisational/social structure
A.k.a. socio-technical congruence
alignment between technical dependencies and
social coordination in a project
Mirroring hypothesis
Conway’s law
• Evidence in favor: commercial “in-house” development
MacCormack et al. “Exploring the duality between product and
organizational architectures: A test of the mirroring hypothesis.” Research
Policy, 2012.
Mirroring hypothesis
Conway’s law
• Evidence against: “community-based” development
Colfer et al. “The mirroring hypothesis: Theory, evidence and
exceptions.” Harvard Business School, 2010.
More modular software with emergent structure?
 reminiscent of “complex systems”?
Syeed et al. “Socio-technical congruence in the Ruby ecosystem.”
OpenSym, 2014.
Complex Systems
“A new approach to science that investigates how
relationships between parts give rise to the
collective behaviors of a system and how the
system interacts and forms relationships with its
environment.”
Emergence: process whereby larger entities,
patterns, and regularities arise through interactions
among smaller or simpler entities that themselves
do not exhibit such properties.
Complexity Sciences
Complexity Theory
Complex Networks
Citation from Melanie Mitchell:
“network thinking is providing novel ways to think
about difficult problems such as how to do efficient
search on the Web, […] how to manage large
organisations, how to preserve ecosystems, […] and,
more generally, what kind of resilience and
vulnerabilities are intrinsic to natural, social, and
technological networks, and how to exploit and
protect such systems.”
Complex Networks
Examples of complex technological networks
– World-Wide Web
– Software dependency graphs
– Social networks (e.g. Facebook)
– Socio-technical software ecosystems
Complex Networks
Typical characteristics of complex networks:
Small-world property (Milgram, 1967)
Skewed distributions (power law, long tail)
Scale-freeness
Complex Networks
Small-world property
• Like random networks but …
• Low average path length
between any two nodes
– 6 degrees of separation
• High clustering coefficient
• Clusters of components
linked through “hubs”
Complex Networks
Example of small-world property
• Bugzilla collaboration networks in large OSS projects
M. Zanetti, E. Sarigol, I. Scholtes, C. Tessone, F. Schweitzer. A quantitative study
of social organisation in open source software communities, 2012
Complex Networks
Skewed distributions (power law behaviour)
• Few nodes with very high in (resp. out) degree
• Many nodes with very small in (resp. out) degree
Complex Networks
Scale-freeness
• Observed degree distribution is very similar
regardless of the scale of the observation
Scale-free networks are more resilient to changes
– Robust to deletion of random (non-hub) nodes
– Vulnerable to the deletion of hubs
Complex Networks
Possible applications for SECOs
• Provide prediction/forecasting models
– of how SECOs emerge
– of how SECOs grow
• Estimate SECO resilience after major disturbances
• Assess risk of deleting hub nodes
(key components or key people)  bus factor!
How do SECOs grow?
Popular model: preferential attachment
Barabasi et al. Emergence of Scaling in Random Networks.
Science 286, 1999
How do SECOs grow?
Popular model: preferential attachment
Reasons for preferential attachment
• Popularity
“the rich get richer”
• Quality
“the good get better”
• Mixed
those reaching critical mass first will become stars
Barabasi et al. Emergence of Scaling in Random Networks.
Science 286, 1999
How do SECOs grow?
Extension of preferential attachment model to
simulate growth of complex software systems
By mimicking the principle of coupling & cohesion
Li et al. Multi-Level Formation of Complex Software
Systems. Entropy 18(178), 2016
Simple growth models
for complex systems
• A complex system may have thousands of variables
and degrees of freedom
• Yet, some of its dynamic behaviour can be
explained surprisingly well by simple models like
exponential, logistic, or Gompertz)
– Due to emergent organisation and properties
– Due to constraints limiting the degrees of freedom
Simple growth models
for complex systems
G. West, J. Brown. The origin of allometric scaling laws in biology from
genoms to ecosystems: towards a quantitative unifying theory of biological
structure and organization. Journal of Experimental Biology, 2005
Allometric Scaling
• Many fundamental phenomena in living systems
scale as a simple power law
Simple growth models
for complex systems
Allometric Scaling
Growth rate of a mammal’s
mass or size during its life time
Simple growth models
for complex systems
Allometric Scaling
Metabolic rate scales
as a ¾ power of mass
Simple growth models
for complex systems
Allometric Scaling
• Expected lifespan of mammal increases
as a ¼ power of mass
• Animal heart rate decreases
as a –¼ power of mass
• Population density in ecosystems decreases
as – ¾ power of body size
How do SECOs grow?
Evidence of allometric scaling in software?
– Growth rate as a function of artefact size?
(software components, individual software
systems, software ecosystems)
– Lifetime as a function of artefact size?
– …
Ongoing Work
What social factors affect growth, resilience of
SECOs?
• Temporary or permanent effect of joiners and
leavers?
• Impact of competing SECOs
(e.g. Ruby on Rails vs. Node.js vs Django)
• Impact of technological disruptions
(e.g. migration to git; new major release; …)
Rely on complex network theory to study these…
Previous Work
• Challenges in software ecosystems research. A Serebrenik, T Mens.
IWSECO-WEA 2015
• When GitHub meets CRAN: An analysis of inter-repository package
dependency problems. A Decan et al. SANER 2016
• An ecosystemic and socio-technical view on software maintenance
and evolution. T Mens. ICSME 2016 keynote
• On the topology of package dependency networks: A comparison of
three programming language ecosystems. A Decan, T Mens, M
Claes. WEA 2016
• Social and technical evolution of software ecosystems: A case study
on Rails. E Constantinou, T Mens. WEA 2016
• An empirical comparison of dependency issues in OSS packaging
ecosystems. A Decan, T Mens, M Claes. SANER 2017
• Socio-technical evolution of the Ruby ecosystem in GitHub. E
Constantinou, T Mens. SANER 2017

Contenu connexe

Tendances

17. PAXOS consensus Algorithm.pptx
17. PAXOS consensus Algorithm.pptx17. PAXOS consensus Algorithm.pptx
17. PAXOS consensus Algorithm.pptxMohan Kumar Ch
 
Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance SHIKHA GAUTAM
 
Cloud Computing & Big Data
Cloud Computing & Big DataCloud Computing & Big Data
Cloud Computing & Big DataMrinal Kumar
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQRob Davies
 
Lamp technology seminar final
Lamp technology seminar finalLamp technology seminar final
Lamp technology seminar finalAkmal Hussain
 
Virtualization in cloud computing ppt
Virtualization in cloud computing pptVirtualization in cloud computing ppt
Virtualization in cloud computing pptMehul Patel
 
الفصل الثامن
الفصل الثامنالفصل الثامن
الفصل الثامنguestb0490b3d
 
cloud computing 5.pptx
cloud computing 5.pptxcloud computing 5.pptx
cloud computing 5.pptxJatin673232
 
Augmented Business Process Management
Augmented Business Process ManagementAugmented Business Process Management
Augmented Business Process ManagementMarlon Dumas
 
Andrew File System
Andrew File SystemAndrew File System
Andrew File SystemAshish KC
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration StrategiesJesus Rodriguez
 
عرض عن الحوسبة السحابية
عرض عن الحوسبة السحابيةعرض عن الحوسبة السحابية
عرض عن الحوسبة السحابيةmousa5122
 
Types Of Networks انواع الشبكات
Types Of Networks انواع الشبكاتTypes Of Networks انواع الشبكات
Types Of Networks انواع الشبكاتNermeen Mobdy
 
So You Want to Be an AWS Partner?
So You Want to Be an AWS Partner? So You Want to Be an AWS Partner?
So You Want to Be an AWS Partner? Amazon Web Services
 
AWS Data Analytics on AWS
AWS Data Analytics on AWSAWS Data Analytics on AWS
AWS Data Analytics on AWSsampath439572
 

Tendances (20)

Cloud Service Models
Cloud Service ModelsCloud Service Models
Cloud Service Models
 
17. PAXOS consensus Algorithm.pptx
17. PAXOS consensus Algorithm.pptx17. PAXOS consensus Algorithm.pptx
17. PAXOS consensus Algorithm.pptx
 
Platform as a Service (PaaS)
Platform as a Service (PaaS)Platform as a Service (PaaS)
Platform as a Service (PaaS)
 
Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance
 
Cloud Computing & Big Data
Cloud Computing & Big DataCloud Computing & Big Data
Cloud Computing & Big Data
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
 
Lamp technology seminar final
Lamp technology seminar finalLamp technology seminar final
Lamp technology seminar final
 
Virtualization in cloud computing ppt
Virtualization in cloud computing pptVirtualization in cloud computing ppt
Virtualization in cloud computing ppt
 
الفصل الثامن
الفصل الثامنالفصل الثامن
الفصل الثامن
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
cloud computing 5.pptx
cloud computing 5.pptxcloud computing 5.pptx
cloud computing 5.pptx
 
Augmented Business Process Management
Augmented Business Process ManagementAugmented Business Process Management
Augmented Business Process Management
 
Bit torrent a revolution in p2p
Bit torrent a revolution in p2pBit torrent a revolution in p2p
Bit torrent a revolution in p2p
 
Andrew File System
Andrew File SystemAndrew File System
Andrew File System
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
عرض عن الحوسبة السحابية
عرض عن الحوسبة السحابيةعرض عن الحوسبة السحابية
عرض عن الحوسبة السحابية
 
Types Of Networks انواع الشبكات
Types Of Networks انواع الشبكاتTypes Of Networks انواع الشبكات
Types Of Networks انواع الشبكات
 
So You Want to Be an AWS Partner?
So You Want to Be an AWS Partner? So You Want to Be an AWS Partner?
So You Want to Be an AWS Partner?
 
AWS Data Analytics on AWS
AWS Data Analytics on AWSAWS Data Analytics on AWS
AWS Data Analytics on AWS
 

En vedette

Understanding Software Ecosystems
Understanding Software EcosystemsUnderstanding Software Ecosystems
Understanding Software EcosystemsBala Iyer
 
Challenges in Software Ecosystem Research
Challenges in Software Ecosystem ResearchChallenges in Software Ecosystem Research
Challenges in Software Ecosystem ResearchTom Mens
 
Open Source Software Ecosystem & Stack
Open Source Software Ecosystem & StackOpen Source Software Ecosystem & Stack
Open Source Software Ecosystem & StackKrishnan S P T
 
QuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsQuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsGESSI UPC
 
Understand Open Source ecosystems
Understand Open Source ecosystemsUnderstand Open Source ecosystems
Understand Open Source ecosystemsKnowmades.com
 
Software. Well... It's Complicated
Software. Well... It's ComplicatedSoftware. Well... It's Complicated
Software. Well... It's ComplicatedTEST Huddle
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsLionel Briand
 
On the topology of package dependency networks: A comparison of programming l...
On the topology of package dependency networks: A comparison of programming l...On the topology of package dependency networks: A comparison of programming l...
On the topology of package dependency networks: A comparison of programming l...Tom Mens
 
When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...
When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...
When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...Tom Mens
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...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
 
Ysmc Virtual Trade Show
Ysmc Virtual Trade ShowYsmc Virtual Trade Show
Ysmc Virtual Trade ShowLynn Kronk
 
Design for Learning and Assessment in Virtual Worlds
Design for Learning and Assessment in Virtual WorldsDesign for Learning and Assessment in Virtual Worlds
Design for Learning and Assessment in Virtual Worldsdiannepatricia
 
Ecosystem visualization methodology
Ecosystem visualization methodologyEcosystem visualization methodology
Ecosystem visualization methodologyBala Iyer
 
Wat eco cogins9-24pres16x9
Wat eco cogins9-24pres16x9Wat eco cogins9-24pres16x9
Wat eco cogins9-24pres16x9diannepatricia
 
Understanding and implementation of open source ecosystems final
Understanding and implementation of open source ecosystems finalUnderstanding and implementation of open source ecosystems final
Understanding and implementation of open source ecosystems finalRachit Technology Pvt Ltd
 
An empirical comparison of dependency issues in open source software packagin...
An empirical comparison of dependency issues in open source software packagin...An empirical comparison of dependency issues in open source software packagin...
An empirical comparison of dependency issues in open source software packagin...Tom Mens
 
Keeping software development ecosystem healthy
Keeping software development ecosystem healthyKeeping software development ecosystem healthy
Keeping software development ecosystem healthyDainius Mezanskas
 

En vedette (20)

Understanding Software Ecosystems
Understanding Software EcosystemsUnderstanding Software Ecosystems
Understanding Software Ecosystems
 
Software ecosystem
Software ecosystemSoftware ecosystem
Software ecosystem
 
Challenges in Software Ecosystem Research
Challenges in Software Ecosystem ResearchChallenges in Software Ecosystem Research
Challenges in Software Ecosystem Research
 
Open Source Software Ecosystem & Stack
Open Source Software Ecosystem & StackOpen Source Software Ecosystem & Stack
Open Source Software Ecosystem & Stack
 
QuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsQuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software Ecosystems
 
Understand Open Source ecosystems
Understand Open Source ecosystemsUnderstand Open Source ecosystems
Understand Open Source ecosystems
 
Software. Well... It's Complicated
Software. Well... It's ComplicatedSoftware. Well... It's Complicated
Software. Well... It's Complicated
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
 
On the topology of package dependency networks: A comparison of programming l...
On the topology of package dependency networks: A comparison of programming l...On the topology of package dependency networks: A comparison of programming l...
On the topology of package dependency networks: A comparison of programming l...
 
When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...
When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...
When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
 
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...
 
Ysmc Virtual Trade Show
Ysmc Virtual Trade ShowYsmc Virtual Trade Show
Ysmc Virtual Trade Show
 
Design for Learning and Assessment in Virtual Worlds
Design for Learning and Assessment in Virtual WorldsDesign for Learning and Assessment in Virtual Worlds
Design for Learning and Assessment in Virtual Worlds
 
Ecosystem visualization methodology
Ecosystem visualization methodologyEcosystem visualization methodology
Ecosystem visualization methodology
 
Wat eco cogins9-24pres16x9
Wat eco cogins9-24pres16x9Wat eco cogins9-24pres16x9
Wat eco cogins9-24pres16x9
 
Understanding and implementation of open source ecosystems final
Understanding and implementation of open source ecosystems finalUnderstanding and implementation of open source ecosystems final
Understanding and implementation of open source ecosystems final
 
An empirical comparison of dependency issues in open source software packagin...
An empirical comparison of dependency issues in open source software packagin...An empirical comparison of dependency issues in open source software packagin...
An empirical comparison of dependency issues in open source software packagin...
 
Draft Guide to Business Ecosystem Development
Draft Guide to Business Ecosystem DevelopmentDraft Guide to Business Ecosystem Development
Draft Guide to Business Ecosystem Development
 
Keeping software development ecosystem healthy
Keeping software development ecosystem healthyKeeping software development ecosystem healthy
Keeping software development ecosystem healthy
 

Similaire à Software Ecosystem Evolution Insights

Trust and Accountability: experiences from the FAIRDOM Commons Initiative.
Trust and Accountability: experiences from the FAIRDOM Commons Initiative.Trust and Accountability: experiences from the FAIRDOM Commons Initiative.
Trust and Accountability: experiences from the FAIRDOM Commons Initiative.Carole Goble
 
20111022 ontologiescomeofageocas germanymcguinnessfinal
20111022 ontologiescomeofageocas germanymcguinnessfinal20111022 ontologiescomeofageocas germanymcguinnessfinal
20111022 ontologiescomeofageocas germanymcguinnessfinalDeborah McGuinness
 
Multi-Agent Modelling With applications to robotics and cognition
Multi-Agent Modelling With applications to robotics and cognitionMulti-Agent Modelling With applications to robotics and cognition
Multi-Agent Modelling With applications to robotics and cognitionAladdin Ayesh
 
Scientific software sustainability and ecosystem complexity
Scientific software sustainability and ecosystem complexityScientific software sustainability and ecosystem complexity
Scientific software sustainability and ecosystem complexityJames Howison
 
Sustainability in Scientific Software: Ecosystem complexity and Software Vis...
Sustainability in Scientific Software:Ecosystem complexityandSoftware Vis...Sustainability in Scientific Software:Ecosystem complexityandSoftware Vis...
Sustainability in Scientific Software: Ecosystem complexity and Software Vis...James Howison
 
Sustainable Web Ecosystem Design
Sustainable Web Ecosystem DesignSustainable Web Ecosystem Design
Sustainable Web Ecosystem DesignShigeo Honda
 
Tragedy of the (Data) Commons
Tragedy of the (Data) CommonsTragedy of the (Data) Commons
Tragedy of the (Data) CommonsJames Hendler
 
Virtual Organizations 2.0: Social Constructs for Data-centered Collaborative ...
Virtual Organizations 2.0: Social Constructs for Data-centered Collaborative ...Virtual Organizations 2.0: Social Constructs for Data-centered Collaborative ...
Virtual Organizations 2.0: Social Constructs for Data-centered Collaborative ...Globus
 
SciSoftDays Talk - Howison: Spreading the work in software ecosystems
SciSoftDays Talk - Howison: Spreading the work in software ecosystemsSciSoftDays Talk - Howison: Spreading the work in software ecosystems
SciSoftDays Talk - Howison: Spreading the work in software ecosystemsJames Howison
 
Introduction to Systemics with focus on Systems Biology
Introduction to Systemics with focus on Systems BiologyIntroduction to Systemics with focus on Systems Biology
Introduction to Systemics with focus on Systems BiologyMrinal Vashisth
 
Co-creation of Learning and Social CRM
Co-creation of Learning and Social CRMCo-creation of Learning and Social CRM
Co-creation of Learning and Social CRMDarshan Desai
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information SystemsRalf Klamma
 
SMART Seminar Series: "Trusted Autonomous Systems as System of Systems". Pres...
SMART Seminar Series: "Trusted Autonomous Systems as System of Systems". Pres...SMART Seminar Series: "Trusted Autonomous Systems as System of Systems". Pres...
SMART Seminar Series: "Trusted Autonomous Systems as System of Systems". Pres...SMART Infrastructure Facility
 
KASW'08 - Invited Talk
KASW'08 - Invited TalkKASW'08 - Invited Talk
KASW'08 - Invited TalkRalf Klamma
 

Similaire à Software Ecosystem Evolution Insights (20)

Trust and Accountability: experiences from the FAIRDOM Commons Initiative.
Trust and Accountability: experiences from the FAIRDOM Commons Initiative.Trust and Accountability: experiences from the FAIRDOM Commons Initiative.
Trust and Accountability: experiences from the FAIRDOM Commons Initiative.
 
SEABIS/SICS
SEABIS/SICSSEABIS/SICS
SEABIS/SICS
 
20111022 ontologiescomeofageocas germanymcguinnessfinal
20111022 ontologiescomeofageocas germanymcguinnessfinal20111022 ontologiescomeofageocas germanymcguinnessfinal
20111022 ontologiescomeofageocas germanymcguinnessfinal
 
Multi-Agent Modelling With applications to robotics and cognition
Multi-Agent Modelling With applications to robotics and cognitionMulti-Agent Modelling With applications to robotics and cognition
Multi-Agent Modelling With applications to robotics and cognition
 
Scientific software sustainability and ecosystem complexity
Scientific software sustainability and ecosystem complexityScientific software sustainability and ecosystem complexity
Scientific software sustainability and ecosystem complexity
 
Rcis2015tut
Rcis2015tutRcis2015tut
Rcis2015tut
 
Sustainability in Scientific Software: Ecosystem complexity and Software Vis...
Sustainability in Scientific Software:Ecosystem complexityandSoftware Vis...Sustainability in Scientific Software:Ecosystem complexityandSoftware Vis...
Sustainability in Scientific Software: Ecosystem complexity and Software Vis...
 
Sustainable Web Ecosystem Design
Sustainable Web Ecosystem DesignSustainable Web Ecosystem Design
Sustainable Web Ecosystem Design
 
Tragedy of the (Data) Commons
Tragedy of the (Data) CommonsTragedy of the (Data) Commons
Tragedy of the (Data) Commons
 
20100427 Earthster Core Ontology
20100427 Earthster Core Ontology20100427 Earthster Core Ontology
20100427 Earthster Core Ontology
 
Virtual Organizations 2.0: Social Constructs for Data-centered Collaborative ...
Virtual Organizations 2.0: Social Constructs for Data-centered Collaborative ...Virtual Organizations 2.0: Social Constructs for Data-centered Collaborative ...
Virtual Organizations 2.0: Social Constructs for Data-centered Collaborative ...
 
SciSoftDays Talk - Howison: Spreading the work in software ecosystems
SciSoftDays Talk - Howison: Spreading the work in software ecosystemsSciSoftDays Talk - Howison: Spreading the work in software ecosystems
SciSoftDays Talk - Howison: Spreading the work in software ecosystems
 
Introduction to Systemics with focus on Systems Biology
Introduction to Systemics with focus on Systems BiologyIntroduction to Systemics with focus on Systems Biology
Introduction to Systemics with focus on Systems Biology
 
L6 LSCITS Engineering
L6 LSCITS EngineeringL6 LSCITS Engineering
L6 LSCITS Engineering
 
Co-creation of Learning and Social CRM
Co-creation of Learning and Social CRMCo-creation of Learning and Social CRM
Co-creation of Learning and Social CRM
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information Systems
 
Bruce, "Investing in a Time of Disruptive Change"
Bruce, "Investing in a Time of Disruptive Change"Bruce, "Investing in a Time of Disruptive Change"
Bruce, "Investing in a Time of Disruptive Change"
 
SMART Seminar Series: "Trusted Autonomous Systems as System of Systems". Pres...
SMART Seminar Series: "Trusted Autonomous Systems as System of Systems". Pres...SMART Seminar Series: "Trusted Autonomous Systems as System of Systems". Pres...
SMART Seminar Series: "Trusted Autonomous Systems as System of Systems". Pres...
 
Howison si2 keynote
Howison si2 keynoteHowison si2 keynote
Howison si2 keynote
 
KASW'08 - Invited Talk
KASW'08 - Invited TalkKASW'08 - Invited Talk
KASW'08 - Invited Talk
 

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

Environmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxEnvironmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxpriyankatabhane
 
Explainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosExplainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosZachary Labe
 
Observational constraints on mergers creating magnetism in massive stars
Observational constraints on mergers creating magnetism in massive starsObservational constraints on mergers creating magnetism in massive stars
Observational constraints on mergers creating magnetism in massive starsSérgio Sacani
 
DOG BITE management in pediatrics # for Pediatric pgs# topic presentation # f...
DOG BITE management in pediatrics # for Pediatric pgs# topic presentation # f...DOG BITE management in pediatrics # for Pediatric pgs# topic presentation # f...
DOG BITE management in pediatrics # for Pediatric pgs# topic presentation # f...HafsaHussainp
 
final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterHanHyoKim
 
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2AuEnriquezLontok
 
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPRPirithiRaju
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...D. B. S. College Kanpur
 
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDivyaK787011
 
well logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxwell logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxzaydmeerab121
 
Forensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxForensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxkumarsanjai28051
 
Oxo-Acids of Halogens and their Salts.pptx
Oxo-Acids of Halogens and their Salts.pptxOxo-Acids of Halogens and their Salts.pptx
Oxo-Acids of Halogens and their Salts.pptxfarhanvvdk
 
The Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionThe Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionJadeNovelo1
 
whole genome sequencing new and its types including shortgun and clone by clone
whole genome sequencing new  and its types including shortgun and clone by clonewhole genome sequencing new  and its types including shortgun and clone by clone
whole genome sequencing new and its types including shortgun and clone by clonechaudhary charan shingh university
 
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests GlycosidesGLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests GlycosidesNandakishor Bhaurao Deshmukh
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPRPirithiRaju
 
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024Jene van der Heide
 

Dernier (20)

Environmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxEnvironmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptx
 
Interferons.pptx.
Interferons.pptx.Interferons.pptx.
Interferons.pptx.
 
Explainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosExplainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenarios
 
Observational constraints on mergers creating magnetism in massive stars
Observational constraints on mergers creating magnetism in massive starsObservational constraints on mergers creating magnetism in massive stars
Observational constraints on mergers creating magnetism in massive stars
 
DOG BITE management in pediatrics # for Pediatric pgs# topic presentation # f...
DOG BITE management in pediatrics # for Pediatric pgs# topic presentation # f...DOG BITE management in pediatrics # for Pediatric pgs# topic presentation # f...
DOG BITE management in pediatrics # for Pediatric pgs# topic presentation # f...
 
final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarter
 
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
 
PLASMODIUM. PPTX
PLASMODIUM. PPTXPLASMODIUM. PPTX
PLASMODIUM. PPTX
 
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
 
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
 
well logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxwell logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptx
 
Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?
 
Forensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxForensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptx
 
Oxo-Acids of Halogens and their Salts.pptx
Oxo-Acids of Halogens and their Salts.pptxOxo-Acids of Halogens and their Salts.pptx
Oxo-Acids of Halogens and their Salts.pptx
 
The Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionThe Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and Function
 
whole genome sequencing new and its types including shortgun and clone by clone
whole genome sequencing new  and its types including shortgun and clone by clonewhole genome sequencing new  and its types including shortgun and clone by clone
whole genome sequencing new and its types including shortgun and clone by clone
 
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests GlycosidesGLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
 
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
 

Software Ecosystem Evolution Insights

  • 1. Software Ecosystem Evolution. It’s complex! Tom Mens, COMPLEXYS Research Institute University of Mons, Belgium http://blog.christianposta.com/images/disorg anized.png
  • 2. Software Ecosystems A software ecosystem is a collection of [inderdependent] software projects that are developed and evolve together in the same environment. Mircea Lungu (PhD, 2008)
  • 4. Interdisciplinary research “Many challenges we face are not solvable by people remaining in their single discipline silos”… www.newscientist.com/article/mg20928002-100-open-your-mind-to-interdisciplinary-research/
  • 5. Interdisciplinary research Ecological Studies of Open Source Software Ecosystems • Use ideas from biological ecology to understand and improve evolution of software ecosystems • Ongoing research project (2012-2017) in collaboration with Prof. Philippe Grosjean COMPLEXYS Research Institute of UMONS • Use ideas from complex systems research across different scientific disciplines.
  • 7. Software Ecosystems Are huge ! https://www.montereybayaquarium.org/animal-guide/marine-mammals/blue-whale
  • 8. CRAN Andrie de Vries http://blog.revolutionanalytics.com/2015/07/the-network-structure-of-cran.html Package dependency graph > 9K active packages > 21K dependencies in April 2016
  • 10. > 317K packages > 728K dependencies in June 2016 https://exploringdata.github.io/vis/npm-packages-dependencies/ (July 2013)
  • 11. Software Ecosystems Are inherently socio-technical – Thousands of interdependent software parts – Thousands of interacting contributors T Mens. An ecosystemic and socio- technical view on software maintenance and evolution. ICSME 2016 keynote.
  • 12. Software Ecosystems Are difficult to manage – Unclear structure – Backward incompatible changes, breaking dependencies – Unexpected removal of software components – Departure of key contributors – Cascading security problems – Nontransparent painful submission/update policies – Violations of policies (versioning, licensing, …)
  • 13. Software Ecosystems Are all different Every software ecosystem – has specific habits, expectations, change policies – uses specific tools Bogart et al. How to break an API: Cost negotiation and community values in three software ecosystems. FSE 2016
  • 14. Software Ecosystems Share similar topologies – Most non-isolated packages (~90%) belong to a single weakly-connected component Alexandre Decan, Tom Mens, Maelick Claes: - On the topology of package dependency networks: A comparison of programming language ecosystems, WEA 2016 - An empirical comparison of dependency issues in OSS packaging ecosystems, SANER 2017
  • 15. Software Ecosystems Are growing superlinearly over time
  • 16. Mirroring hypothesis Conway’s law Software structure tends to mirror the organisational/social structure A.k.a. socio-technical congruence alignment between technical dependencies and social coordination in a project
  • 17. Mirroring hypothesis Conway’s law • Evidence in favor: commercial “in-house” development MacCormack et al. “Exploring the duality between product and organizational architectures: A test of the mirroring hypothesis.” Research Policy, 2012.
  • 18. Mirroring hypothesis Conway’s law • Evidence against: “community-based” development Colfer et al. “The mirroring hypothesis: Theory, evidence and exceptions.” Harvard Business School, 2010. More modular software with emergent structure?  reminiscent of “complex systems”? Syeed et al. “Socio-technical congruence in the Ruby ecosystem.” OpenSym, 2014.
  • 19. Complex Systems “A new approach to science that investigates how relationships between parts give rise to the collective behaviors of a system and how the system interacts and forms relationships with its environment.” Emergence: process whereby larger entities, patterns, and regularities arise through interactions among smaller or simpler entities that themselves do not exhibit such properties.
  • 22. Complex Networks Citation from Melanie Mitchell: “network thinking is providing novel ways to think about difficult problems such as how to do efficient search on the Web, […] how to manage large organisations, how to preserve ecosystems, […] and, more generally, what kind of resilience and vulnerabilities are intrinsic to natural, social, and technological networks, and how to exploit and protect such systems.”
  • 23. Complex Networks Examples of complex technological networks – World-Wide Web – Software dependency graphs – Social networks (e.g. Facebook) – Socio-technical software ecosystems
  • 24. Complex Networks Typical characteristics of complex networks: Small-world property (Milgram, 1967) Skewed distributions (power law, long tail) Scale-freeness
  • 25. Complex Networks Small-world property • Like random networks but … • Low average path length between any two nodes – 6 degrees of separation • High clustering coefficient • Clusters of components linked through “hubs”
  • 26. Complex Networks Example of small-world property • Bugzilla collaboration networks in large OSS projects M. Zanetti, E. Sarigol, I. Scholtes, C. Tessone, F. Schweitzer. A quantitative study of social organisation in open source software communities, 2012
  • 27. Complex Networks Skewed distributions (power law behaviour) • Few nodes with very high in (resp. out) degree • Many nodes with very small in (resp. out) degree
  • 28. Complex Networks Scale-freeness • Observed degree distribution is very similar regardless of the scale of the observation Scale-free networks are more resilient to changes – Robust to deletion of random (non-hub) nodes – Vulnerable to the deletion of hubs
  • 29. Complex Networks Possible applications for SECOs • Provide prediction/forecasting models – of how SECOs emerge – of how SECOs grow • Estimate SECO resilience after major disturbances • Assess risk of deleting hub nodes (key components or key people)  bus factor!
  • 30. How do SECOs grow? Popular model: preferential attachment Barabasi et al. Emergence of Scaling in Random Networks. Science 286, 1999
  • 31. How do SECOs grow? Popular model: preferential attachment Reasons for preferential attachment • Popularity “the rich get richer” • Quality “the good get better” • Mixed those reaching critical mass first will become stars Barabasi et al. Emergence of Scaling in Random Networks. Science 286, 1999
  • 32. How do SECOs grow? Extension of preferential attachment model to simulate growth of complex software systems By mimicking the principle of coupling & cohesion Li et al. Multi-Level Formation of Complex Software Systems. Entropy 18(178), 2016
  • 33. Simple growth models for complex systems • A complex system may have thousands of variables and degrees of freedom • Yet, some of its dynamic behaviour can be explained surprisingly well by simple models like exponential, logistic, or Gompertz) – Due to emergent organisation and properties – Due to constraints limiting the degrees of freedom
  • 34. Simple growth models for complex systems G. West, J. Brown. The origin of allometric scaling laws in biology from genoms to ecosystems: towards a quantitative unifying theory of biological structure and organization. Journal of Experimental Biology, 2005 Allometric Scaling • Many fundamental phenomena in living systems scale as a simple power law
  • 35. Simple growth models for complex systems Allometric Scaling Growth rate of a mammal’s mass or size during its life time
  • 36. Simple growth models for complex systems Allometric Scaling Metabolic rate scales as a ¾ power of mass
  • 37. Simple growth models for complex systems Allometric Scaling • Expected lifespan of mammal increases as a ¼ power of mass • Animal heart rate decreases as a –¼ power of mass • Population density in ecosystems decreases as – ¾ power of body size
  • 38. How do SECOs grow? Evidence of allometric scaling in software? – Growth rate as a function of artefact size? (software components, individual software systems, software ecosystems) – Lifetime as a function of artefact size? – …
  • 39. Ongoing Work What social factors affect growth, resilience of SECOs? • Temporary or permanent effect of joiners and leavers? • Impact of competing SECOs (e.g. Ruby on Rails vs. Node.js vs Django) • Impact of technological disruptions (e.g. migration to git; new major release; …) Rely on complex network theory to study these…
  • 40. Previous Work • Challenges in software ecosystems research. A Serebrenik, T Mens. IWSECO-WEA 2015 • When GitHub meets CRAN: An analysis of inter-repository package dependency problems. A Decan et al. SANER 2016 • An ecosystemic and socio-technical view on software maintenance and evolution. T Mens. ICSME 2016 keynote • On the topology of package dependency networks: A comparison of three programming language ecosystems. A Decan, T Mens, M Claes. WEA 2016 • Social and technical evolution of software ecosystems: A case study on Rails. E Constantinou, T Mens. WEA 2016 • An empirical comparison of dependency issues in OSS packaging ecosystems. A Decan, T Mens, M Claes. SANER 2017 • Socio-technical evolution of the Ruby ecosystem in GitHub. E Constantinou, T Mens. SANER 2017

Notes de l'éditeur

  1. This talk will bemore visionary in nature. I do not intend to present research we are currently conducting, Buth rather explore how we can rely on interdisciplinary research, borrowing techniques and theroies from biology and complex systems, to understand and support software ecosystem evolution.
  2. Original focus of ECOS was to borrow ideas from biology/ecology/natural ecosystems for understanding SECOs. We have opened up the idea to include ideas and techniques from other disciplines as well. I will present some of those interdisciplinary techniques later in my talk. Definition: “in the same environment” => this environment includes the community of ecosystem contributors, the hardware and software development platform underlying the ecosystem (e.g. language-specific, operating system specific), possible interactions with other ecosystems, and many more. (We do not focus on the business aspects of sw ecosystems in our research.)
  3. All of these ecosystems are quite large, containing (tens of) thousands of different software components, with many interdependencies, an evolution history of many years, a large and active community of contributors. Studying such software ecosystems can be quite challenging Developing and maintaining components within these ecosystems can also be quite challenging.
  4. Original focus of ECOS was to borrow ideas from biology/ecology/natural ecosystems for understanding SECOs. We have opened up the idea to include ideas and techniques from other disciplines as well. I will present some of those interdisciplinary techniques later in my talk.
  5. Alexander Serebrenik => you probably all know who his is, since he is ICSME chair Alexandre Decan first carried out research on formal database theory but I managed to convert him to the more practical side of SE research Bogdan Vasilescu, obtained his PhD with Serebrenik, and after a 2 year postdoc at UCDavis now joined CMU in Pittsburgh.
  6. Explain that SECOs are huge, in terms of number of LOC, number of contributors, duration in time, number of packages and depenencies, number of commits, … Also explain that, compared to other research disciplines they can still seem small. E.g. compared to research in particle physics, astronomy, DNA analysis, Where the data to be analysed is even several magnitudes higher.
  7. Originallyfocus of ECOS was to borrow ideas from biology/ecology/natural ecosystems for understanding SECOs. We have opened up the idea to include ideas and techniques from other disciplines as well. I will present some of those interdisciplinary techniques later in my talk. Definition: “in the same environment” => this environment includes the community of ecosystem contributors, the hardware and software development platform underlying the ecosystem (e.g. language-specific, operating system specific), possible interactions with other ecosystems, and many more. (We do not focus on the business aspects of sw ecosystems in our research.)
  8. Originallyfocus of ECOS was to borrow ideas from biology/ecology/natural ecosystems for understanding SECOs. We have opened up the idea to include ideas and techniques from other disciplines as well. I will present some of those interdisciplinary techniques later in my talk. Definition: “in the same environment” => this environment includes the community of ecosystem contributors, the hardware and software development platform underlying the ecosystem (e.g. language-specific, operating system specific), possible interactions with other ecosystems, and many more. (We do not focus on the business aspects of sw ecosystems in our research.)
  9. Taking into account SECO differences is important to provide ecosystem-specific support for SECO maintenance and evolution to generalise research findings across SECOs
  10. Taking into account SECO differences is important to provide ecosystem-specific support for SECO maintenance and evolution to generalise research findings across SECOs
  11. Taking into account SECO differences is important to provide ecosystem-specific support for SECO maintenance and evolution to generalise research findings across SECOs
  12. Before coming to my next example of interdisciplinary research, let me again take another side track, and talk about the mirroring hypothesis, aka Conway’s law. M. Cataldo, J. D. Herbsleb, and K. M. Carley. Socio-technical congruence: A framework for assessing the impact of technical and work dependencies on software development productivity. In Int’l Symp. Empirical Software Engineering and Measurement, pages 2–11. ACM , 2008.
  13. Another evidence against can be found in the paper “Socio-Technical Congruence in the Ruby Ecosystem” by Syeed et al. in OpenSym 2014. (Based on an analysis of the Ruby software ecosystem.)
  14. Another evidence against can be found in the paper “Socio-Technical Congruence in the Ruby Ecosystem” by Syeed et al. in OpenSym 2014. (Based on an analysis of the Ruby software ecosystem.)
  15. The behavior of a complex system is bigger than the sum of its parts: the behaviour of the system as a whole cannot be understood by looking at the interaction between the individual entities that compose it.
  16. “A new approach to science that investigates how relationships between parts give rise to the collective behaviors of a system and how the system interacts and forms relationships with its environment.” Emergence: process whereby larger entities, patterns, and regularities arise through interactions among smaller or simpler entities that themselves do not exhibit such properties.
  17. Small-World Properties of Facebook Group Networks. By Jason Wohlgemuth and Mihaela Teodora Matache. In Complex Systems, 23 © 2014 Complex Systems Publications, Inc. See http://www.complex-systems.com/pdf/23-3-1.pdf
  18. Small-world property: Low average path length between any two nodes. Highly-clustered components linked through hubs Skewed distributions (power law behaviour): Few nodes with very high in-degree (resp. out-degree), many nodes with very small in-degree (resp. out) Scale-freeness: Observed degree distribution is very similar regardless of the scale of the observation The concept of a small world was originally observed in the late 1960’s by the social psychologist Stanley Milgram. - S. Milgram, “The Small World Problem,” Psychology Today, 2, 1967 pp. 60–67. - J. Travers and S. Milgram, “An Experimental Study of the Small World Problem,” Sociometry, 32(4), 1969 pp. 425–443.
  19. The concept of a small world was originally observed in the late 1960’s by the social psychologist Stanley Milgram. - S. Milgram, “The Small World Problem,” Psychology Today, 2, 1967 pp. 60–67. - J. Travers and S. Milgram, “An Experimental Study of the Small World Problem,” Sociometry, 32(4), 1969 pp. 425–443.
  20. Bugzilla collaboration networks of several software development communities. (Graph visualisation of the largest connected component ) Nodes represent contributors to the project, links represent collaborations between them. This picture illustrates the significant differences between highly centralized projects (left), projects with a modular or hierarchical social organisation (middle) and projects with less structured collaboration networks (right).
  21. The concept of a small world was originally observed in the late 1960’s by the social psychologist Stanley Milgram. - S. Milgram, “The Small World Problem,” Psychology Today, 2, 1967 pp. 60–67. - J. Travers and S. Milgram, “An Experimental Study of the Small World Problem,” Sociometry, 32(4), 1969 pp. 425–443.
  22. Robustness to deletion in the sense that it does not change the structural/topological properties of the network, which remains scale-free, small-world, and skewed distribution after the deletion… The vulnerability to deletion of hub nodes could be linked easily to the aforementioned notions of technical and social bus factors. Hub nodes have a considerably higher bus factor, since the ecosystem/network is much more vulnerable to their deletion. This implies that managers of the (eco)system should take care to “protect” these hub nodes from getting deleted…
  23. Examples of major disturbances: Competing SECOs (e.g., Ruby on Rails vs Node.js vs Django) New technologies: SVN versus Git Major new releases, e.g. Gnome 2 toGnome 3
  24. Several models have been proposed that lead to scale-free networks. A popular model is “preferential attachment” proposed in 1999 by Barabasi et al. While this growth mechanism seems plausible, other mechanisms have been proposed. It remains an open question which mechanism actually causes the scale-free networks we can observe. Preferential attachment has been used in software evolution research by several authors: Valverde et al. [20] suggest that the emergence of scal- ing arises from logical optimisation process. Myers et al. [15] proposed the process of refactoring to improve the structure of existing code as a possible explanation for the emergence of scale-free networks in software. Inspired by Darwin’s ideas of evolutionary adaptation, Venkatasubramanian et al. proposed a generic model based on network parameters such as efficiency, robustness, cost, and environmental selection pressure [21]. Using a genetic algorithm their model was able to generate different types of network structures, depending on the chosen parameters.
  25. Li et al. [8] proposed an extended model of preferential attachment adapted to software systems, and used it to simulate growth models that mimic the well-known design principle of low coupling and high cohesion. If software developers strive towards this principle, they will naturally obtain systems containing highly cohesive components that are lowly coupled between them, reminiscent of the hubs and clusters structure.
  26. new major release: Gnome 2 vs Gnome 3