SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Visualizing the Complexity of
Software Module Upgrades
Bram Schoenmakers, Niels van den Broek,
Istvan Nagy, Bogdan Vasilescu, Alexander Serebrenik
@bram85 @b_vasilescu @aserebrenik
…

…
…

…
Benevol 2013: Visualizing the complexity of software module upgrades
Is the software easy to upgrade?
Why does upgrading one module require
upgrading many other modules?
Goal: Update A
to the current
version
Goal: Update A
to the current
version

Solution 1
reduced the
amount of
code to be
shipped to the
customer

Solution 2
reduces the
amount of
shipments
Goal: Update A
to the current
version

Solution 1
reduced the
amount of
code to be
shipped to the
customer

Solution 2
reduces the
amount of
shipments
Color = #modules needed to
upgrade when upgrading row
from column to current (8).
AF, AL, AS, AY are easy to
upgrade, AC is difficult. Why?
Cliff between 2 and 3???
Upgrade
dependency
graph
•
•
•
•
•

1000 software developers
40 MLOC
327 modules
7000 interfaces
9 monthly versions of the software

• 327 modules * 8 version updates = 2616 upgrade
scenarios
– Search space: 8327-1 ~ 2.5 * 10294 configurations

• Processing time: 16 hours for all scenarios
October 15, 2013
– With limitations on search space.

Slide 11
Cliff between 2 and 3
Inspecting upgrade dependency graphs, we’ve
found many red dependencies, caused by symbol
removal.
Cliff between 2 and 3
Inspecting upgrade dependency graphs, we’ve
found many red dependencies, caused by symbol
removal.
Indeed,
9%
≤10 upgrade
dependencies

45%
55%

Red dependencies included

>10 upgrade
dependencies

91%

Red dependencies excluded
Cliff between 2 and 3
Inspecting upgrade dependency graphs, we’ve
found many red dependencies, caused by symbol
removal.
Suggestion: symbols are removed
only when they are no longer used in any
supported release.
Is the software easy to
upgrade?
Why does upgrading one
module require
upgrading many other
modules?

Más contenido relacionado

Destacado

researchpbl
researchpblresearchpbl
researchpblpuniga
 
ไตร่ตรองงานวิจัยของฉัน
ไตร่ตรองงานวิจัยของฉันไตร่ตรองงานวิจัยของฉัน
ไตร่ตรองงานวิจัยของฉันSchool in Phatthalung
 
Arts & Crafts Expo
Arts & Crafts ExpoArts & Crafts Expo
Arts & Crafts ExpoColt
 
EnTagRec: An Enhanced Tag Recommendation System for Software Information Sites
EnTagRec: An Enhanced Tag Recommendation System for Software Information SitesEnTagRec: An Enhanced Tag Recommendation System for Software Information Sites
EnTagRec: An Enhanced Tag Recommendation System for Software Information SitesAlexander Serebrenik
 
Invited Talk MESOCA 2014: Evolving software systems: emerging trends and chal...
Invited Talk MESOCA 2014: Evolving software systems: emerging trends and chal...Invited Talk MESOCA 2014: Evolving software systems: emerging trends and chal...
Invited Talk MESOCA 2014: Evolving software systems: emerging trends and chal...Alexander Serebrenik
 
Mock Advertisement for Amphibious Mousetrap Car
Mock Advertisement for Amphibious Mousetrap CarMock Advertisement for Amphibious Mousetrap Car
Mock Advertisement for Amphibious Mousetrap CarMelissa Anne Lim
 
Reunió pares p3 juny curs 12 13
Reunió pares p3 juny  curs 12 13Reunió pares p3 juny  curs 12 13
Reunió pares p3 juny curs 12 13edumallol
 
Global Entrepreneurship Final Oral Presentation for "Les macarons de Pauline"
Global Entrepreneurship Final Oral Presentation for "Les macarons de Pauline"Global Entrepreneurship Final Oral Presentation for "Les macarons de Pauline"
Global Entrepreneurship Final Oral Presentation for "Les macarons de Pauline"paulinehalazoune
 
Reunió famílies setembre p3 2012 2013
Reunió famílies setembre p3 2012 2013Reunió famílies setembre p3 2012 2013
Reunió famílies setembre p3 2012 2013edumallol
 
Mo E Training 00 Welcome
Mo E Training   00   WelcomeMo E Training   00   Welcome
Mo E Training 00 Welcomeabumaather
 
865 social capital
865 social capital865 social capital
865 social capitalIan Pollock
 
Car Study & Statistics
Car Study & StatisticsCar Study & Statistics
Car Study & StatisticsMelissa Anne Lim
 
Fresh Produce
Fresh ProduceFresh Produce
Fresh ProduceColt
 
Flowgen: Flowchart-Based Documentation Framework for C++
Flowgen: Flowchart-Based Documentation Framework for C++Flowgen: Flowchart-Based Documentation Framework for C++
Flowgen: Flowchart-Based Documentation Framework for C++Alexander Serebrenik
 
PresentacióN Pcpi M
PresentacióN Pcpi MPresentacióN Pcpi M
PresentacióN Pcpi Mguestae4440
 
English Flip Chart 2010
English Flip Chart 2010English Flip Chart 2010
English Flip Chart 2010AMuniz
 

Destacado (20)

researchpbl
researchpblresearchpbl
researchpbl
 
ไตร่ตรองงานวิจัยของฉัน
ไตร่ตรองงานวิจัยของฉันไตร่ตรองงานวิจัยของฉัน
ไตร่ตรองงานวิจัยของฉัน
 
Arts & Crafts Expo
Arts & Crafts ExpoArts & Crafts Expo
Arts & Crafts Expo
 
Sattose hackathon
Sattose hackathonSattose hackathon
Sattose hackathon
 
Spain
SpainSpain
Spain
 
TTT
TTTTTT
TTT
 
EnTagRec: An Enhanced Tag Recommendation System for Software Information Sites
EnTagRec: An Enhanced Tag Recommendation System for Software Information SitesEnTagRec: An Enhanced Tag Recommendation System for Software Information Sites
EnTagRec: An Enhanced Tag Recommendation System for Software Information Sites
 
Invited Talk MESOCA 2014: Evolving software systems: emerging trends and chal...
Invited Talk MESOCA 2014: Evolving software systems: emerging trends and chal...Invited Talk MESOCA 2014: Evolving software systems: emerging trends and chal...
Invited Talk MESOCA 2014: Evolving software systems: emerging trends and chal...
 
Mock Advertisement for Amphibious Mousetrap Car
Mock Advertisement for Amphibious Mousetrap CarMock Advertisement for Amphibious Mousetrap Car
Mock Advertisement for Amphibious Mousetrap Car
 
Reunió pares p3 juny curs 12 13
Reunió pares p3 juny  curs 12 13Reunió pares p3 juny  curs 12 13
Reunió pares p3 juny curs 12 13
 
Global Entrepreneurship Final Oral Presentation for "Les macarons de Pauline"
Global Entrepreneurship Final Oral Presentation for "Les macarons de Pauline"Global Entrepreneurship Final Oral Presentation for "Les macarons de Pauline"
Global Entrepreneurship Final Oral Presentation for "Les macarons de Pauline"
 
Reunió famílies setembre p3 2012 2013
Reunió famílies setembre p3 2012 2013Reunió famílies setembre p3 2012 2013
Reunió famílies setembre p3 2012 2013
 
Mo E Training 00 Welcome
Mo E Training   00   WelcomeMo E Training   00   Welcome
Mo E Training 00 Welcome
 
865 social capital
865 social capital865 social capital
865 social capital
 
Car Study & Statistics
Car Study & StatisticsCar Study & Statistics
Car Study & Statistics
 
Fresh Produce
Fresh ProduceFresh Produce
Fresh Produce
 
Flowgen: Flowchart-Based Documentation Framework for C++
Flowgen: Flowchart-Based Documentation Framework for C++Flowgen: Flowchart-Based Documentation Framework for C++
Flowgen: Flowchart-Based Documentation Framework for C++
 
PresentacióN Pcpi M
PresentacióN Pcpi MPresentacióN Pcpi M
PresentacióN Pcpi M
 
Regreso A Clase
Regreso A ClaseRegreso A Clase
Regreso A Clase
 
English Flip Chart 2010
English Flip Chart 2010English Flip Chart 2010
English Flip Chart 2010
 

Similar a Benevol 2013: Visualizing the complexity of software module upgrades

Using Modern Tools and Technologies to Improve Your Software Architecture
Using Modern Tools and Technologies to Improve Your Software ArchitectureUsing Modern Tools and Technologies to Improve Your Software Architecture
Using Modern Tools and Technologies to Improve Your Software ArchitectureEran Stiller
 
Anurag_resume (3) (2)
Anurag_resume (3) (2)Anurag_resume (3) (2)
Anurag_resume (3) (2)Anurag Kumar
 
Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Mark Cooper
 
IMS to DB2 Migration: How a Fortune 500 Company Made the Move in Record Time ...
IMS to DB2 Migration: How a Fortune 500 Company Made the Move in Record Time ...IMS to DB2 Migration: How a Fortune 500 Company Made the Move in Record Time ...
IMS to DB2 Migration: How a Fortune 500 Company Made the Move in Record Time ...Precisely
 
Facilitating DevOps Execution in an All Digital Environment
Facilitating DevOps Execution in an All Digital EnvironmentFacilitating DevOps Execution in an All Digital Environment
Facilitating DevOps Execution in an All Digital EnvironmentKurt Andersen
 
William Impey CV
William Impey CVWilliam Impey CV
William Impey CVWill Impey
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshopJudy Breedlove
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Amazon Web Services
 
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Mike Villiger
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversalIBM UrbanCode Products
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsJessica Deen
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsAraf Karsh Hamid
 

Similar a Benevol 2013: Visualizing the complexity of software module upgrades (20)

Mayuresh Warkhandkar_Resume
Mayuresh Warkhandkar_ResumeMayuresh Warkhandkar_Resume
Mayuresh Warkhandkar_Resume
 
Using Modern Tools and Technologies to Improve Your Software Architecture
Using Modern Tools and Technologies to Improve Your Software ArchitectureUsing Modern Tools and Technologies to Improve Your Software Architecture
Using Modern Tools and Technologies to Improve Your Software Architecture
 
Anurag_resume (3) (2)
Anurag_resume (3) (2)Anurag_resume (3) (2)
Anurag_resume (3) (2)
 
Siva_Resume
Siva_ResumeSiva_Resume
Siva_Resume
 
Zakir_Hussain_cv
Zakir_Hussain_cvZakir_Hussain_cv
Zakir_Hussain_cv
 
Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16
 
IMS to DB2 Migration: How a Fortune 500 Company Made the Move in Record Time ...
IMS to DB2 Migration: How a Fortune 500 Company Made the Move in Record Time ...IMS to DB2 Migration: How a Fortune 500 Company Made the Move in Record Time ...
IMS to DB2 Migration: How a Fortune 500 Company Made the Move in Record Time ...
 
Facilitating DevOps Execution in an All Digital Environment
Facilitating DevOps Execution in an All Digital EnvironmentFacilitating DevOps Execution in an All Digital Environment
Facilitating DevOps Execution in an All Digital Environment
 
Lakshmi Srinivas Pallapothu
Lakshmi Srinivas PallapothuLakshmi Srinivas Pallapothu
Lakshmi Srinivas Pallapothu
 
William Impey CV
William Impey CVWilliam Impey CV
William Impey CV
 
ChinA_Resume
ChinA_ResumeChinA_Resume
ChinA_Resume
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshop
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
 
Rohit latest
Rohit latestRohit latest
Rohit latest
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
 
IBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z SystemsIBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z Systems
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Resume Paul Vlasek3
Resume Paul Vlasek3Resume Paul Vlasek3
Resume Paul Vlasek3
 

Más de Alexander Serebrenik

Software development is a human activity: understanding software requires und...
Software development is a human activity: understanding software requires und...Software development is a human activity: understanding software requires und...
Software development is a human activity: understanding software requires und...Alexander Serebrenik
 
Towards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBotTowards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBotAlexander Serebrenik
 
Emotion Analysis in Software Ecosystems
Emotion Analysis in Software EcosystemsEmotion Analysis in Software Ecosystems
Emotion Analysis in Software EcosystemsAlexander Serebrenik
 
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...Alexander Serebrenik
 
Gender and Age in Software Engineering
Gender and Age in Software EngineeringGender and Age in Software Engineering
Gender and Age in Software EngineeringAlexander Serebrenik
 
Diversity and inclusion in a CS classroom
Diversity and inclusion in a CS classroomDiversity and inclusion in a CS classroom
Diversity and inclusion in a CS classroomAlexander Serebrenik
 
An Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
An Empirical Assessment on Merging and Repositioning of Static Analysis AlarmsAn Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
An Empirical Assessment on Merging and Repositioning of Static Analysis AlarmsAlexander Serebrenik
 
Classification and Ranking of Delta Static Analysis Alarms
Classification and Ranking of Delta Static Analysis AlarmsClassification and Ranking of Delta Static Analysis Alarms
Classification and Ranking of Delta Static Analysis AlarmsAlexander Serebrenik
 
What Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
What Is an AI Engineer? An Empirical Analysis of Job Ads in The NetherlandsWhat Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
What Is an AI Engineer? An Empirical Analysis of Job Ads in The NetherlandsAlexander Serebrenik
 
From team organisation to software quality
From team organisation to software qualityFrom team organisation to software quality
From team organisation to software qualityAlexander Serebrenik
 
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...Alexander Serebrenik
 
My research story (presentation at ICSE 2021 New Faculty Symposium)
My research story (presentation at ICSE 2021 New Faculty Symposium)My research story (presentation at ICSE 2021 New Faculty Symposium)
My research story (presentation at ICSE 2021 New Faculty Symposium)Alexander Serebrenik
 
Opinion Mining for Software Engineering
Opinion Mining for Software EngineeringOpinion Mining for Software Engineering
Opinion Mining for Software EngineeringAlexander Serebrenik
 
Removing Self Admitted Technical Debt
Removing Self Admitted Technical DebtRemoving Self Admitted Technical Debt
Removing Self Admitted Technical DebtAlexander Serebrenik
 
Gender Diversity and Inclusion and Software Engineering
Gender Diversity and Inclusion and Software EngineeringGender Diversity and Inclusion and Software Engineering
Gender Diversity and Inclusion and Software EngineeringAlexander Serebrenik
 
Identifying Developers’ Gender: State of the Art
Identifying Developers’ Gender: State of the ArtIdentifying Developers’ Gender: State of the Art
Identifying Developers’ Gender: State of the ArtAlexander Serebrenik
 
Social software engineering and Open science
Social software engineering and Open scienceSocial software engineering and Open science
Social software engineering and Open scienceAlexander Serebrenik
 

Más de Alexander Serebrenik (20)

Software development is a human activity: understanding software requires und...
Software development is a human activity: understanding software requires und...Software development is a human activity: understanding software requires und...
Software development is a human activity: understanding software requires und...
 
Towards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBotTowards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBot
 
Emotion Analysis in Software Ecosystems
Emotion Analysis in Software EcosystemsEmotion Analysis in Software Ecosystems
Emotion Analysis in Software Ecosystems
 
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
 
Gender and Age in Software Engineering
Gender and Age in Software EngineeringGender and Age in Software Engineering
Gender and Age in Software Engineering
 
Alexander - intro
Alexander - introAlexander - intro
Alexander - intro
 
Diversity and inclusion in a CS classroom
Diversity and inclusion in a CS classroomDiversity and inclusion in a CS classroom
Diversity and inclusion in a CS classroom
 
An Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
An Empirical Assessment on Merging and Repositioning of Static Analysis AlarmsAn Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
An Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
 
Classification and Ranking of Delta Static Analysis Alarms
Classification and Ranking of Delta Static Analysis AlarmsClassification and Ranking of Delta Static Analysis Alarms
Classification and Ranking of Delta Static Analysis Alarms
 
What Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
What Is an AI Engineer? An Empirical Analysis of Job Ads in The NetherlandsWhat Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
What Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
 
Gender and Community Smells
Gender and Community SmellsGender and Community Smells
Gender and Community Smells
 
Bias in MSR Research
Bias in MSR ResearchBias in MSR Research
Bias in MSR Research
 
From team organisation to software quality
From team organisation to software qualityFrom team organisation to software quality
From team organisation to software quality
 
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
 
My research story (presentation at ICSE 2021 New Faculty Symposium)
My research story (presentation at ICSE 2021 New Faculty Symposium)My research story (presentation at ICSE 2021 New Faculty Symposium)
My research story (presentation at ICSE 2021 New Faculty Symposium)
 
Opinion Mining for Software Engineering
Opinion Mining for Software EngineeringOpinion Mining for Software Engineering
Opinion Mining for Software Engineering
 
Removing Self Admitted Technical Debt
Removing Self Admitted Technical DebtRemoving Self Admitted Technical Debt
Removing Self Admitted Technical Debt
 
Gender Diversity and Inclusion and Software Engineering
Gender Diversity and Inclusion and Software EngineeringGender Diversity and Inclusion and Software Engineering
Gender Diversity and Inclusion and Software Engineering
 
Identifying Developers’ Gender: State of the Art
Identifying Developers’ Gender: State of the ArtIdentifying Developers’ Gender: State of the Art
Identifying Developers’ Gender: State of the Art
 
Social software engineering and Open science
Social software engineering and Open scienceSocial software engineering and Open science
Social software engineering and Open science
 

Último

Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 

Último (20)

20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 

Benevol 2013: Visualizing the complexity of software module upgrades

  • 1. Visualizing the Complexity of Software Module Upgrades Bram Schoenmakers, Niels van den Broek, Istvan Nagy, Bogdan Vasilescu, Alexander Serebrenik @bram85 @b_vasilescu @aserebrenik
  • 5. Is the software easy to upgrade? Why does upgrading one module require upgrading many other modules?
  • 6. Goal: Update A to the current version
  • 7. Goal: Update A to the current version Solution 1 reduced the amount of code to be shipped to the customer Solution 2 reduces the amount of shipments
  • 8. Goal: Update A to the current version Solution 1 reduced the amount of code to be shipped to the customer Solution 2 reduces the amount of shipments
  • 9. Color = #modules needed to upgrade when upgrading row from column to current (8). AF, AL, AS, AY are easy to upgrade, AC is difficult. Why? Cliff between 2 and 3???
  • 11. • • • • • 1000 software developers 40 MLOC 327 modules 7000 interfaces 9 monthly versions of the software • 327 modules * 8 version updates = 2616 upgrade scenarios – Search space: 8327-1 ~ 2.5 * 10294 configurations • Processing time: 16 hours for all scenarios October 15, 2013 – With limitations on search space. Slide 11
  • 12. Cliff between 2 and 3 Inspecting upgrade dependency graphs, we’ve found many red dependencies, caused by symbol removal.
  • 13. Cliff between 2 and 3 Inspecting upgrade dependency graphs, we’ve found many red dependencies, caused by symbol removal. Indeed, 9% ≤10 upgrade dependencies 45% 55% Red dependencies included >10 upgrade dependencies 91% Red dependencies excluded
  • 14. Cliff between 2 and 3 Inspecting upgrade dependency graphs, we’ve found many red dependencies, caused by symbol removal. Suggestion: symbols are removed only when they are no longer used in any supported release.
  • 15. Is the software easy to upgrade? Why does upgrading one module require upgrading many other modules?

Notas del editor

  1. Manufacturer of chip-making equipment.Designs, develops and integratessystems to produce semiconductors.World’s largest memory company – SamsungWorld’s largest micorprocessor company - IntelWorld's largest foundry (made-to-order chipmaker) - TSMC.
  2. Blocks represent software. The idea is that ASML can ship only relevant blocks to the customer (e.g., the yellow ones), instead of the entire system. This idea can reduce the effort required to establish correctness of the configuration, install it and eventually recalibrate the system.
  3. However, modules depend on each other: here yellow relies on red and blue. Hence, when upgrading we need to take dependencies into account.
  4. However, modules depend on each other: here yellow relies on red and blue. Hence, when upgrading we need to take dependencies into account.
  5. A partial heatmap of the system is shown in Figure 2.We observe that the colors in a row become lighter fromleft to right, i.e., the older the version, the more upgradedependencies are involved. This can be expected because thetime span to the latest version is longer, suggesting that morechanges could have occurred. Moreover, most modules showdark cells in columns 0–2, and much lighter cells in columns3–7. This means that most modules are difficult to upgradeto the most recent version 8 if they are of version 2 or older.The heat map does not reveal the cause of this “cliff” fromversion 2 to version 3: we reconsider this issue in Section IV.Finally, module AF is easy to upgrade: its row is completelyblank, indicating that there are no upgrade dependencies. Thisis typical for modules which see little to no development. Itcould still be the case that this module has changed, but thatthese changes were internal to the module.
  6. Vertices: all modules involved with upgrade.Edge from module n1 to n2iffthere is an upgrade dependency from n1 to n2.Green edge: upgrade dependency due tosymbol addition(s).Red edge: upgrade dependency due tosymbol removal(s).Black edge: green and red combined.Thickness: number of symbols.