SlideShare a Scribd company logo
1 of 21
USING BENCHMARKING
BOTS FOR CONTINUOUS
PERFORMANCE
ASSESSMENT
FLORIAN MARKUSSE
PHILIPP LEITNER
ALEXANDER SEREBRENIK
https://nl.freepik.com/vrije-photo/3d-geef-van-een-robot-met-een-traditionele-chroom-stopwatch_958078.htm Author
kjpargeter
MANY PROJECTS CARE
ABOUT PERFORMANCE
JUST AS MUCH AS ABOUT
CORRECTNESS
MANY PROJECTS CARE
ABOUT PERFORMANCE
JUST AS MUCH AS ABOUT
CORRECTNESS
EXAMPLES:
DOWNSTREAM
LIBRARIES
WEB APPLICATIONS
DATABASES
…..
“Left-shifting”
performance testing?
(Performance) bots to the rescue!
RQ2: How does adoption
of benchmarking bots
affect the Open Source
Software project?
RQ1: How often are
benchmarking bots
adopted by the Open
Source Software
projects?
RQ1: How often are benchmarking
bots adopted by the Open Source
Software projects?
“performance regression”
“benchmark report”
“performance result”
GitHub Search
Projects w ≥ 10 pull requests
RQ1: How often are benchmarking
bots adopted by the Open Source
Software projects?
“performance regression”
“benchmark report”
“performance result”
GitHub Search
Projects w ≥ 10 pull requests
534 bot PRs and 6957 non-bot PRs
1004
80 44 34 31 29 26 25 21 21
1
10
100
1000
10000
0 1 2 3 4 5 6 7 8 9
Number
of
developers
(log
scale)
Number of interactions with The Nanosoldier
In the PRs with the bot Julia Rust Swift Fluent UI
#participants higher large medium small medium
#comments higher large medium small medium
comments longer large medium medium small
#reviews higher small small negligible n.s.
#commits higher small negligible small negligible
The Spruce / Steven Merkel https://www.thespruce.com/collect-clean-and-store-chicken-eggs-3016828
Grist / NAKphotos / Rolfo Brenner / EyeEm / Getty Images https://grist.org/climate/science-dishes-out-an-answer-on-the-old-handwashing-vs-dishwasher-debate/
MEET PERFBOT
Towards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBot

More Related Content

Similar to Towards Continuous Performance Assessment of Java Applications With PerfBot

Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Dynatrace
 
Kubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateKubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateMatthew Farina
 
15 Best React Native Developer Tools in 2024.pdf
15 Best React Native Developer Tools in 2024.pdf15 Best React Native Developer Tools in 2024.pdf
15 Best React Native Developer Tools in 2024.pdfinfowindtech570
 
The Power of Feedback Loops
The Power of Feedback LoopsThe Power of Feedback Loops
The Power of Feedback LoopsAgileCymru
 
Accelerate development with Visual Studio and Power Platform.pdf
Accelerate development with Visual Studio and Power Platform.pdfAccelerate development with Visual Studio and Power Platform.pdf
Accelerate development with Visual Studio and Power Platform.pdfJuan Fabian
 
Developing Highly Instrumented Applications with Minimal Effort
Developing Highly Instrumented Applications with Minimal EffortDeveloping Highly Instrumented Applications with Minimal Effort
Developing Highly Instrumented Applications with Minimal EffortTim Hobson
 
XRebel - Real Time Insight, Faster Apps
XRebel - Real Time Insight, Faster AppsXRebel - Real Time Insight, Faster Apps
XRebel - Real Time Insight, Faster AppsZeroTurnaround
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點William Yeh
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release AutomationJules Pierre-Louis
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxBlockchainizator
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...Eurapp
 
Automation Testing Tool.pdf
Automation Testing Tool.pdfAutomation Testing Tool.pdf
Automation Testing Tool.pdfiDataScientists
 
Lecture_1_Introduction (Web Engineering).pdf
Lecture_1_Introduction (Web Engineering).pdfLecture_1_Introduction (Web Engineering).pdf
Lecture_1_Introduction (Web Engineering).pdfssuserb933d8
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopShubhra Kar
 
Creating an MVP with Oracle
Creating an MVP with OracleCreating an MVP with Oracle
Creating an MVP with OracleFranco Ucci
 
Lecture_1_Introduction (Web Engineering).ppt
Lecture_1_Introduction (Web Engineering).pptLecture_1_Introduction (Web Engineering).ppt
Lecture_1_Introduction (Web Engineering).pptssuserb933d8
 
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
 
Scale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project SuccessScale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project SuccessStephen Walli
 

Similar to Towards Continuous Performance Assessment of Java Applications With PerfBot (20)

Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster!
 
Kubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateKubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 Update
 
15 Best React Native Developer Tools in 2024.pdf
15 Best React Native Developer Tools in 2024.pdf15 Best React Native Developer Tools in 2024.pdf
15 Best React Native Developer Tools in 2024.pdf
 
The Power of Feedback Loops
The Power of Feedback LoopsThe Power of Feedback Loops
The Power of Feedback Loops
 
Accelerate development with Visual Studio and Power Platform.pdf
Accelerate development with Visual Studio and Power Platform.pdfAccelerate development with Visual Studio and Power Platform.pdf
Accelerate development with Visual Studio and Power Platform.pdf
 
Developing Highly Instrumented Applications with Minimal Effort
Developing Highly Instrumented Applications with Minimal EffortDeveloping Highly Instrumented Applications with Minimal Effort
Developing Highly Instrumented Applications with Minimal Effort
 
XRebel - Real Time Insight, Faster Apps
XRebel - Real Time Insight, Faster AppsXRebel - Real Time Insight, Faster Apps
XRebel - Real Time Insight, Faster Apps
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點
 
My life as a cyborg
My life as a cyborg My life as a cyborg
My life as a cyborg
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release Automation
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
 
Spring Webflux
Spring WebfluxSpring Webflux
Spring Webflux
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
 
Automation Testing Tool.pdf
Automation Testing Tool.pdfAutomation Testing Tool.pdf
Automation Testing Tool.pdf
 
Lecture_1_Introduction (Web Engineering).pdf
Lecture_1_Introduction (Web Engineering).pdfLecture_1_Introduction (Web Engineering).pdf
Lecture_1_Introduction (Web Engineering).pdf
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
Creating an MVP with Oracle
Creating an MVP with OracleCreating an MVP with Oracle
Creating an MVP with Oracle
 
Lecture_1_Introduction (Web Engineering).ppt
Lecture_1_Introduction (Web Engineering).pptLecture_1_Introduction (Web Engineering).ppt
Lecture_1_Introduction (Web Engineering).ppt
 
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 ...
 
Scale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project SuccessScale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project Success
 

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
 
“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
 
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
 

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...
 
“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
 
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
 

Recently uploaded

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 

Recently uploaded (20)

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 

Towards Continuous Performance Assessment of Java Applications With PerfBot

  • 1. USING BENCHMARKING BOTS FOR CONTINUOUS PERFORMANCE ASSESSMENT FLORIAN MARKUSSE PHILIPP LEITNER ALEXANDER SEREBRENIK https://nl.freepik.com/vrije-photo/3d-geef-van-een-robot-met-een-traditionele-chroom-stopwatch_958078.htm Author kjpargeter
  • 2. MANY PROJECTS CARE ABOUT PERFORMANCE JUST AS MUCH AS ABOUT CORRECTNESS
  • 3. MANY PROJECTS CARE ABOUT PERFORMANCE JUST AS MUCH AS ABOUT CORRECTNESS EXAMPLES: DOWNSTREAM LIBRARIES WEB APPLICATIONS DATABASES …..
  • 4.
  • 6.
  • 7. (Performance) bots to the rescue!
  • 8. RQ2: How does adoption of benchmarking bots affect the Open Source Software project? RQ1: How often are benchmarking bots adopted by the Open Source Software projects?
  • 9. RQ1: How often are benchmarking bots adopted by the Open Source Software projects? “performance regression” “benchmark report” “performance result” GitHub Search Projects w ≥ 10 pull requests
  • 10. RQ1: How often are benchmarking bots adopted by the Open Source Software projects? “performance regression” “benchmark report” “performance result” GitHub Search Projects w ≥ 10 pull requests
  • 11.
  • 12. 534 bot PRs and 6957 non-bot PRs
  • 13. 1004 80 44 34 31 29 26 25 21 21 1 10 100 1000 10000 0 1 2 3 4 5 6 7 8 9 Number of developers (log scale) Number of interactions with The Nanosoldier
  • 14.
  • 15. In the PRs with the bot Julia Rust Swift Fluent UI #participants higher large medium small medium #comments higher large medium small medium comments longer large medium medium small #reviews higher small small negligible n.s. #commits higher small negligible small negligible
  • 16. The Spruce / Steven Merkel https://www.thespruce.com/collect-clean-and-store-chicken-eggs-3016828
  • 17. Grist / NAKphotos / Rolfo Brenner / EyeEm / Getty Images https://grist.org/climate/science-dishes-out-an-answer-on-the-old-handwashing-vs-dishwasher-debate/
  • 18.

Editor's Notes

  1. Thank for the opportunity to give the talk. Florian, Alexander - Eindhoven; Philipp - Chalmers/Gothenburg Paper
  2. Bots are omnipresent in software development: they flag issues where the discussion has been finished (stall bot), check whether the pull requests or issues adhere to the rules defined in the project and they can even contribute to the warm and welcoming community by detecting toxicity or onboarding the newcomers.
  3. Bots are omnipresent in software development: they flag issues where the discussion has been finished (stall bot), check whether the pull requests or issues adhere to the rules defined in the project and they can even contribute to the warm and welcoming community by detecting toxicity or onboarding the newcomers.
  4. However, so far, much less attention has been paid to the usage of bots for continuous performance assessment, even though software performance is a critical quality concern for many projects. This is understandable given that even experienced developers often struggle to correctly benchmark their systems, or judge whether an observed slowdown is more likely to be statistical noise or an actual performance regression.
  5. This is why we ask the following RQs
  6. To answer the first research question we have searched for a series of strings related to performance to identify relevant pull requests. We have manually checked that the pull requests indeed have involved performance bots. We say that a project has adopted the benchmarking bot if more than 10 pull requests in a year use this benchmarking bot.
  7. In this way we have identified 11 projects. Projects that adopt benchmarking bots tend to be large, and, unsurprisingly, in performance-sensitive domains, such as programming languages (Julia, Swift, Rust) or frameworks for Web development (Salesforce LWC, Hexo, or Microsoft’s Fluent UI). 4 use GitHub actions. all custom-built or heavily customized for usage in their projects. As of today, no “standard benchmarking bot” We also observe that many projects in our list adopted their benchmarking bot as recently as 2020, with the notable exception of the Julia programming language, which has been using a benchmarking bot (The Nanosoldier) since early 2016. This is why we have decided to conduct a case study on Julia to answer our second research question, i.e., to understand the impact of adoption of the bot (The Nanosoldier) on the project itself (Julia).
  8. In this way we have identified 11 projects. Projects that adopt benchmarking bots tend to be large, and, unsurprisingly, in performance-sensitive domains, such as programming languages (Julia, Swift, Rust) or frameworks for Web development (Salesforce LWC, Hexo, or Microsoft’s Fluent UI). We also observe that many projects in our list adopted their benchmarking bot as recently as 2020, with the notable exception of the Julia programming language, which has been using a benchmarking bot (The Nanosoldier) since early 2016. Finally, the benchmarking bots we observed in our study are all custom-built or heavily customized for usage in their projects. As of today, no “standard benchmarking bot” has emerged that sees usage across the open source ecosystem, akin to build or dependency management bots. Firstly, there are two different ways to surface benchmarking results to developers: most bots add comments that link to detailed reports to pull request discussion threads; only three projects (simdjson, hexo, and ibis) surface benchmark results as GitHub Actions “checkmarks”. This is surprising given that similar badges are commonly used for other project quality checks [4]. Secondly, despite being integrated into the CI pipeline, four projects elect to not execute their benchmarking bots automatically and on every pull request. Instead, they have to be manually triggered by a developer, for instance by getting tagged in the code review discussion of a pull request. Given that system benchmarking is well-known to be time consuming and resource-intensive [5], these projects are selective with how often they choose to run their benchmarking bots. For example, in the Julia project, only 5% of pull requests are actually benchmarked, and only 8% of contributors have ever interacted with the benchmarking bot.
  9. When we have been collecting data in June 2021, we have observed that while most projects in our study have adopted bots in 2020, Julia has adopted its benchmarking bot called The Nanosoldier already in 2016. This is why we have decided to conduct a case study on Julia to answer our second research question, i.e., to understand the impact of adoption of the bot (The Nanosoldier) on the project itself (Julia). Ca 7% of the PRs involve bots.
  10. Pull requests where The Nanosoldier gets invoked involve more participants and more comments. Our research has also indicated that discussions involving the bot require more commits and lead to longer comment threads as measured by the total length of all comments taken together. The differences are statistically significant (p < 0.0001), with Cliff’s δ effect sizes between small (0.28; number of commits) and large (0.5; number of participants). Hence, it appears that The Nanosoldier is predominately involved in the discussion of complex issues.
  11. Still, the number of developers having interacted with the Nanosoldier remains limited; benchmarking/performance seems to be a concern for a relatively small group.
  12. Of course, the previous investigation has focused on Julia, while ideally we would like to be able to generalise these findings for all other bots in our dataset. Unfortunately, this was not possible since for many projects the number of data points was too low for the statistical analysis. Still we have enough points for two other programming languages, Rust and Apple Swift, and the Fluent UI framework.
  13. We see that the hypotheses we have formulated based on the Julia case tend to hold for other projects (with one minor exception). At the same time, the effect size for other projects is usually smaller than for Julia.
  14. However, it is unclear if the bot causes long, complex discussions, or if it is commonly brought into issues that simply are inherently more complex: this is a kind of chicken and egg problem. So we want back to Julia. To get further insights in the ways The Nanosoldier is used, we (a) analysed the pull requests manually performing card sorting, and (b) conducted semi-structured interviews with two active and experienced Julia developers who have had ample interaction with The Nanosoldier.
  15. Based on card sorting the pull requests the process model on the slide has emerged. Arrows should be read as “follows by” rather than “causes”. The process model is not particularly surprising so I would like to highlight one element, namely presence of backporting requests. We do not think nanosoldier causes back porting requests. Rather, we speculate that when the PR is in a state where it looks promising, a backport is requested by a contributor. This argument is similar to why nanosoldier is invoked in the first place. The difference is that nanosoldier is invoked faster than a request to backport it. Thus, the backport request follows the benchmark invocation.
  16. Then we moved to the interviews. Interviewees confirmed our findings that PRs with a contribution from The Nanosoldier have a greater number of interactions, particularly because the report from the bot explicitly triggers discussion. In a way, developers see The Nanosoldier as a kind of dishwasher, something they are so used to, that one has to turn it off to really appreciate it. One of the interviewees said: “You think, oh, most things will stay mostly stable, what could go wrong [when it’s offline]? And then you turn it back on, and there’s like ten bugs.” Our study indicates that developers appreciate the peace of mind that using a performance benchmarking bot gives them.
  17. Why only those??
  18. However, if The Nanosoldier is as magnificent as the dishwasher why would developers not use it on every pull request? Only ca 7% of the pull requests involve The Nanosoldier…
  19. Unfortunately, having the bot profile a pull request takes a lot of time. “Our benchmarks just take too long. If they were really fast, we would just run them on CI. But a combination of the fact that we’re using wall clock time and that we need to run it on a machine that’s closer to the actual hardware and less susceptible to interrupts.” Thus, invoking The Nanosoldier is reserved for pull requests that are judged to be potentially high-impact. But at the same time, The Nanosoldier is beneficial for the project even if it is invoked only on a limited number of pull requests.
  20. RQ1: Rare, GitHub actions are promising, dependabot4benchmarking? RQ2: Significant positive impact, even if the use is limited due to speed