SlideShare a Scribd company logo
1 of 24
Download to read offline
Technical Leverage in The Python Ecosystem:
Lessons Learned
Ranindya Paramitha · Fabio Massacci
SFSCon 2023 · Bolzano, November 10-11, 2023
The South Tyrol Free Software Conference 2023
Published in the Journal of Empirical Software Engineering (EMSE)
DOI: 10.1007/s10664-023-10355-2
Software, then and now
Software, then and now
Nowadays:
• Developers use FOSS (Free Open source software) as building blocks
• Fraction of homegrown code as low as 5% for industry software (Source SAP)
• Dependency code = 4x own code as industry average (Source BlackDuck)
Technical leverage: learning from finance, now
Technical leverage: learning from finance, now
Finance
Technical leverage: learning from finance, now
Finance Software
Technical leverage: learning from finance, now
Previous work in Java (Massacci & Pashchenko, ICSE’21)
Big libs
Small libs
Own code in lines of code (log-scale)
Direct
leverage
(log-scale)
Previous work in Java (Massacci & Pashchenko, ICSE’21)
Big libs
Small libs
Own code in lines of code (log-scale)
Direct
leverage
(log-scale)
org.springframework:spring-aspects:3.0.5
Own size: 1K LoC
Previous work in Java (Massacci & Pashchenko, ICSE’21)
Big libs
Small libs
Own code in lines of code (log-scale)
Direct
leverage
(log-scale)
org.springframework:spring-aspects:3.0.5
Own size: 1K LoC
Tech leverage: 417.74
Previous work in Java (Massacci & Pashchenko, ICSE’21)
Big libs
Small libs
Own code in lines of code (log-scale)
Direct
leverage
(log-scale)
org.springframework:spring-aspects:3.0.5
Own size: 1K LoC
Io.netty:netty-all:4.0.56
Own size: 175K LoC
Tech leverage: 417.74
Previous work in Java (Massacci & Pashchenko, ICSE’21)
Big libs
Small libs
Own code in lines of code (log-scale)
Direct
leverage
(log-scale)
org.springframework:spring-aspects:3.0.5
Own size: 1K LoC
Io.netty:netty-all:4.0.56
Own size: 175K LoC
Tech leverage: 417.74
Tech leverage: 7.43
Previous work in Java (Massacci & Pashchenko, ICSE’21)
Big libs
Small libs
Own code in lines of code (log-scale)
Direct
leverage
(log-scale)
org.springframework:spring-aspects:3.0.5
Own size: 1K LoC
Io.netty:netty-all:4.0.56
Own size: 175K LoC
Tech leverage: 417.74
Tech leverage: 7.43
How about in another ecosystem?
How is the evolution of technical leverage?
RQ1: How is technical leverage distribution in the Python ecosystem?
As in Java, Python developers also tend to ship a lot of other people's code (RQ1)
RQ1: How is technical leverage distribution in the Python ecosystem?
As in Java, Python developers also tend to ship a lot of other people's code (RQ1)
LESSON LEARNED
Understanding what else will come along when a package is adopted is key to
assessing its level of uncontrollable risk.
RQ2: How does the technical leverage metric change when we
move to newer versions in a package?
If you are highly leveraged, you will
stay so.
RQ2: How does the technical leverage metric change when we
move to newer versions in a package?
If you are highly leveraged, you will
stay so.
LESSON LEARNED
Once a package has been adopted,
the level of uncontrollable risk is
unlikely to change over time
Good News
If the risk was consciously
accepted
Otherwise → Bad News
RQ2: How does the technical leverage metric change when we
move to newer versions in a package?
If you are highly leveraged, you will
stay so.
LESSON LEARNED
Once a package has been adopted,
the level of uncontrollable risk is
unlikely to change over time
Good News
If the risk was consciously
accepted
Otherwise → Bad News
RQ3: Does technical leverage capture the risk of having vulns?
RQ3: Does technical leverage capture the risk of having vulns?
The probability of choosing a safe
package version is higher than the
proportion in the ecosystem.
RQ3: Does technical leverage capture the risk of having vulns?
The probability of choosing a safe
package version is higher than the
proportion in the ecosystem.
LESSON LEARNED
Making statistics based on versions is
good for claiming to have done a ‘large
case study’ but is not representative of
the reality on the field.
Good News
Life can be better than researchers
depict it.
RQ3: Does technical leverage capture the risk of having vulns?
The probability of choosing a safe
package version is higher than the
proportion in the ecosystem.
LESSON LEARNED
Making statistics based on versions is
good for claiming to have done a ‘large
case study’ but is not representative of
the reality on the field.
Good News
Life can be better than researchers
depict it.
Technical Leverage in The Python Ecosystem: Lessons Learned
Ranindya Paramitha · Fabio Massacci
RQ1: How is technical leverage
distribution in the Python
ecosystem?
RQ2: How does the technical leverage
metric change when we move to
newer versions in a package?
RQ3: Does technical leverage capture
the risk of having vulns?
MY WEB
PARTICIPATE IN OUR EXPERIMENT!
“Do you think it is an Ethical Decision?”
Some questions on an example from the ACM Code of Ethics and professional conduct
• Your participation is voluntary.
• The QR code will redirect you to an online survey.
• The aim of the study is to find out how people think about ethical decisions in security.
• The data is collected anonymously and will be used for research purposes.
• It will take you approximately 5-10 minutes

More Related Content

Similar to SFSCON23 - Ranindya Paramitha - Technical leverage analysis in the Python ecosystem lessons learned

EuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersEuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersPeter Bittner
 
Observability für alle
Observability für alleObservability für alle
Observability für alleQAware GmbH
 
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptxSecure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptxlior mazor
 
Aspects of the sustainability of software
Aspects of the sustainability of softwareAspects of the sustainability of software
Aspects of the sustainability of softwarePaul Walk
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...sparkfabrik
 
How is Python Useful for Cybersecurity in 2024
How is Python Useful for Cybersecurity in 2024How is Python Useful for Cybersecurity in 2024
How is Python Useful for Cybersecurity in 2024riyak40
 
Attend Free Demo On 𝐅𝐮𝐥𝐥 𝐒𝐭𝐚𝐜𝐤 𝐏𝐲𝐭𝐡𝐨𝐧
Attend Free Demo On 𝐅𝐮𝐥𝐥 𝐒𝐭𝐚𝐜𝐤 𝐏𝐲𝐭𝐡𝐨𝐧Attend Free Demo On 𝐅𝐮𝐥𝐥 𝐒𝐭𝐚𝐜𝐤 𝐏𝐲𝐭𝐡𝐨𝐧
Attend Free Demo On 𝐅𝐮𝐥𝐥 𝐒𝐭𝐚𝐜𝐤 𝐏𝐲𝐭𝐡𝐨𝐧manoharjgpsolutions
 
Wageningen phenotype meeting
Wageningen phenotype meetingWageningen phenotype meeting
Wageningen phenotype meetingthehyve
 
Securing a Cloud Migration
Securing a Cloud MigrationSecuring a Cloud Migration
Securing a Cloud MigrationVMware Tanzu
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseJames Wickett
 
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...DevOps Indonesia
 
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
 
Evolving Software Ecosystems: Health and beyond
Evolving Software Ecosystems: Health and beyondEvolving Software Ecosystems: Health and beyond
Evolving Software Ecosystems: Health and beyondeconst
 
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...Tom Mens
 
Software Security Assurance for DevOps
Software Security Assurance for DevOpsSoftware Security Assurance for DevOps
Software Security Assurance for DevOpsBlack Duck by Synopsys
 
Software Security Assurance for Devops
Software Security Assurance for DevopsSoftware Security Assurance for Devops
Software Security Assurance for DevopsJerika Phelps
 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of PythonAsia Smith
 

Similar to SFSCON23 - Ranindya Paramitha - Technical leverage analysis in the Python ecosystem lessons learned (20)

EuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersEuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python Developers
 
Observability für alle
Observability für alleObservability für alle
Observability für alle
 
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptxSecure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
 
Aspects of the sustainability of software
Aspects of the sustainability of softwareAspects of the sustainability of software
Aspects of the sustainability of software
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
 
How is Python Useful for Cybersecurity in 2024
How is Python Useful for Cybersecurity in 2024How is Python Useful for Cybersecurity in 2024
How is Python Useful for Cybersecurity in 2024
 
Attend Free Demo On 𝐅𝐮𝐥𝐥 𝐒𝐭𝐚𝐜𝐤 𝐏𝐲𝐭𝐡𝐨𝐧
Attend Free Demo On 𝐅𝐮𝐥𝐥 𝐒𝐭𝐚𝐜𝐤 𝐏𝐲𝐭𝐡𝐨𝐧Attend Free Demo On 𝐅𝐮𝐥𝐥 𝐒𝐭𝐚𝐜𝐤 𝐏𝐲𝐭𝐡𝐨𝐧
Attend Free Demo On 𝐅𝐮𝐥𝐥 𝐒𝐭𝐚𝐜𝐤 𝐏𝐲𝐭𝐡𝐨𝐧
 
Wageningen phenotype meeting
Wageningen phenotype meetingWageningen phenotype meeting
Wageningen phenotype meeting
 
Securing a Cloud Migration
Securing a Cloud MigrationSecuring a Cloud Migration
Securing a Cloud Migration
 
Securing a Cloud Migration
Securing a Cloud MigrationSecuring a Cloud Migration
Securing a Cloud Migration
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the Enterprise
 
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
 
Python
PythonPython
Python
 
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)
 
Evolving Software Ecosystems: Health and beyond
Evolving Software Ecosystems: Health and beyondEvolving Software Ecosystems: Health and beyond
Evolving Software Ecosystems: Health and beyond
 
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
 
Software Security Assurance for DevOps
Software Security Assurance for DevOpsSoftware Security Assurance for DevOps
Software Security Assurance for DevOps
 
Software Security Assurance for Devops
Software Security Assurance for DevopsSoftware Security Assurance for Devops
Software Security Assurance for Devops
 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of Python
 

More from South Tyrol Free Software Conference

SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...South Tyrol Free Software Conference
 
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...South Tyrol Free Software Conference
 
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSouth Tyrol Free Software Conference
 
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...South Tyrol Free Software Conference
 
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...South Tyrol Free Software Conference
 
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...South Tyrol Free Software Conference
 
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSouth Tyrol Free Software Conference
 
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSouth Tyrol Free Software Conference
 
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...South Tyrol Free Software Conference
 
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...South Tyrol Free Software Conference
 
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSouth Tyrol Free Software Conference
 
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...South Tyrol Free Software Conference
 
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSouth Tyrol Free Software Conference
 
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...South Tyrol Free Software Conference
 
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSouth Tyrol Free Software Conference
 
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...South Tyrol Free Software Conference
 

More from South Tyrol Free Software Conference (20)

SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
 
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
 
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
 
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
 
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
 
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
 
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
 
SFSCON23 - Christian Busse - Free Software and Open Science
SFSCON23 - Christian Busse - Free Software and Open ScienceSFSCON23 - Christian Busse - Free Software and Open Science
SFSCON23 - Christian Busse - Free Software and Open Science
 
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
 
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portalSFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
 
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
 
SFSCON23 - Stefan Mutschlechner - Smart Werke Meran
SFSCON23 - Stefan Mutschlechner - Smart Werke MeranSFSCON23 - Stefan Mutschlechner - Smart Werke Meran
SFSCON23 - Stefan Mutschlechner - Smart Werke Meran
 
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
 
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
 
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
 
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
 
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
 
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
 
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis MapsSFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
 
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

SFSCON23 - Ranindya Paramitha - Technical leverage analysis in the Python ecosystem lessons learned

  • 1. Technical Leverage in The Python Ecosystem: Lessons Learned Ranindya Paramitha · Fabio Massacci SFSCon 2023 · Bolzano, November 10-11, 2023 The South Tyrol Free Software Conference 2023 Published in the Journal of Empirical Software Engineering (EMSE) DOI: 10.1007/s10664-023-10355-2
  • 3. Software, then and now Nowadays: • Developers use FOSS (Free Open source software) as building blocks • Fraction of homegrown code as low as 5% for industry software (Source SAP) • Dependency code = 4x own code as industry average (Source BlackDuck)
  • 4. Technical leverage: learning from finance, now
  • 5. Technical leverage: learning from finance, now
  • 7. Finance Software Technical leverage: learning from finance, now
  • 8. Previous work in Java (Massacci & Pashchenko, ICSE’21) Big libs Small libs Own code in lines of code (log-scale) Direct leverage (log-scale)
  • 9. Previous work in Java (Massacci & Pashchenko, ICSE’21) Big libs Small libs Own code in lines of code (log-scale) Direct leverage (log-scale) org.springframework:spring-aspects:3.0.5 Own size: 1K LoC
  • 10. Previous work in Java (Massacci & Pashchenko, ICSE’21) Big libs Small libs Own code in lines of code (log-scale) Direct leverage (log-scale) org.springframework:spring-aspects:3.0.5 Own size: 1K LoC Tech leverage: 417.74
  • 11. Previous work in Java (Massacci & Pashchenko, ICSE’21) Big libs Small libs Own code in lines of code (log-scale) Direct leverage (log-scale) org.springframework:spring-aspects:3.0.5 Own size: 1K LoC Io.netty:netty-all:4.0.56 Own size: 175K LoC Tech leverage: 417.74
  • 12. Previous work in Java (Massacci & Pashchenko, ICSE’21) Big libs Small libs Own code in lines of code (log-scale) Direct leverage (log-scale) org.springframework:spring-aspects:3.0.5 Own size: 1K LoC Io.netty:netty-all:4.0.56 Own size: 175K LoC Tech leverage: 417.74 Tech leverage: 7.43
  • 13. Previous work in Java (Massacci & Pashchenko, ICSE’21) Big libs Small libs Own code in lines of code (log-scale) Direct leverage (log-scale) org.springframework:spring-aspects:3.0.5 Own size: 1K LoC Io.netty:netty-all:4.0.56 Own size: 175K LoC Tech leverage: 417.74 Tech leverage: 7.43 How about in another ecosystem? How is the evolution of technical leverage?
  • 14. RQ1: How is technical leverage distribution in the Python ecosystem? As in Java, Python developers also tend to ship a lot of other people's code (RQ1)
  • 15. RQ1: How is technical leverage distribution in the Python ecosystem? As in Java, Python developers also tend to ship a lot of other people's code (RQ1) LESSON LEARNED Understanding what else will come along when a package is adopted is key to assessing its level of uncontrollable risk.
  • 16. RQ2: How does the technical leverage metric change when we move to newer versions in a package? If you are highly leveraged, you will stay so.
  • 17. RQ2: How does the technical leverage metric change when we move to newer versions in a package? If you are highly leveraged, you will stay so. LESSON LEARNED Once a package has been adopted, the level of uncontrollable risk is unlikely to change over time Good News If the risk was consciously accepted Otherwise → Bad News
  • 18. RQ2: How does the technical leverage metric change when we move to newer versions in a package? If you are highly leveraged, you will stay so. LESSON LEARNED Once a package has been adopted, the level of uncontrollable risk is unlikely to change over time Good News If the risk was consciously accepted Otherwise → Bad News
  • 19. RQ3: Does technical leverage capture the risk of having vulns?
  • 20. RQ3: Does technical leverage capture the risk of having vulns? The probability of choosing a safe package version is higher than the proportion in the ecosystem.
  • 21. RQ3: Does technical leverage capture the risk of having vulns? The probability of choosing a safe package version is higher than the proportion in the ecosystem. LESSON LEARNED Making statistics based on versions is good for claiming to have done a ‘large case study’ but is not representative of the reality on the field. Good News Life can be better than researchers depict it.
  • 22. RQ3: Does technical leverage capture the risk of having vulns? The probability of choosing a safe package version is higher than the proportion in the ecosystem. LESSON LEARNED Making statistics based on versions is good for claiming to have done a ‘large case study’ but is not representative of the reality on the field. Good News Life can be better than researchers depict it.
  • 23. Technical Leverage in The Python Ecosystem: Lessons Learned Ranindya Paramitha · Fabio Massacci RQ1: How is technical leverage distribution in the Python ecosystem? RQ2: How does the technical leverage metric change when we move to newer versions in a package? RQ3: Does technical leverage capture the risk of having vulns? MY WEB
  • 24. PARTICIPATE IN OUR EXPERIMENT! “Do you think it is an Ethical Decision?” Some questions on an example from the ACM Code of Ethics and professional conduct • Your participation is voluntary. • The QR code will redirect you to an online survey. • The aim of the study is to find out how people think about ethical decisions in security. • The data is collected anonymously and will be used for research purposes. • It will take you approximately 5-10 minutes