SlideShare a Scribd company logo
1 of 15
Visualizing the Complexity of
Software Module Upgrades
Bram Schoenmakers, Niels van den Broek,
Istvan Nagy, Bogdan Vasilescu, Alexander Serebrenik
@bram85 @b_vasilescu @aserebrenik
…

…
…

…
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?

More Related Content

Viewers also liked

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
 

Viewers also liked (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 to 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 to 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
 

More from 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
 
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...Alexander Serebrenik
 
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...Alexander 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
 

More from 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
 
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
 
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
 
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
 

Recently uploaded

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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

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
  • 4.
  • 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?

Editor's Notes

  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.