SlideShare a Scribd company logo
1 of 26
Security versus Performance Bugs:
A Case Study on
Shahed Zaman, Bram Adams, Ahmed E. Hassan
Software Analysis and Intelligence Lab (SAIL), Queen’s University
1
Costly
Bugs have a high impact on companies
Affect reputation
482 bugs/week
Firefox
2
Most research treats all bugs equally
Does this make sense?
3
Performance Security Other bugs
4
Our Study Dimensions
Are security bugs fixed by
more experienced
developers?
Are security fixes more
complex?
Time People Fix
Are security bugs
fixed faster?
5
Study Overview
Bugzilla
CVS
Bug Type And
Bug Fix
Identification
Performance
Security
Other Bugs
Metric
Extraction
Analysis
6
https://bugzilla.mozilla.org/sh
ow_bug.cgi?id=640339
Identification of Security Bugs
7
Identification of Performance Bugs
‘slow’, ‘perf’,
‘hang’
Our heuristics have:
100 ± 5% precision
80 ± 5% recall 8
Reported Bugs in Firefox
Timeframe of our study
9
Our Study Dimensions
Are security bugs fixed by
more experienced
developers?
Are security fixes more
complex?
Time People Fix
Are security bugs
fixed faster?
10
The lifetime of a Bug
FIXEDNEW ASSIGNED CLOSED
TRIAGE
11
Security bugs are triaged faster
Log(1 + triage time)
46629
179870
RatioofBugs
X 3.8
12
The lifetime of a Bug
FIXEDNEW ASSIGNED CLOSED
FIXING
TRIAGED
FASTER
13
Security Bugs are fixed faster
Log(1 + time between assignment and fix)
RatioofBugs
14
Rework in the lifetime of a Bug
REOPENED
FIXEDNEW ASSIGNED CLOSED
FIXED
FASTER
TOSSING
TRIAGED
FASTER
15
Security Bugs: tossed & re-opened more often
# of times bug tossing
tossed more !
RatioofBugs
# of times bug reopened
RatioofBugs
reopened more !
16
Our Study Dimensions
Are security bugs fixed by
more experienced
developers?
Are security fixes more
complex?
Time People Fix
Are security bugs
fixed faster?
YES!
17
Security bugs are fixed by more
experienced developers
Experience in # of days
RatioofBugs
More experienced
18
Our Study Dimensions
Are security bugs fixed by
more experienced
developers?
Are security fixes more
complex?
Time People Fix
Are security bugs
fixed faster?
YES!YES!
19
Entropy as a measure of Complexity
0
2
4
6
V W X Y Z
#ofchangedlines
File
Fix 2
0
2
4
6
A B C D E
#ofchangedlines
File
Fix 1
More Complex
20
Security fixes are more complex
entropy
RatioofBugs
21
Our Study Dimensions
Are security bugs fixed by
more experienced
developers?
Are security fixes more
complex?
Time People Fix
Are security bugs
fixed faster?
YES!YES! YES!
22
Security Perf. Security Perf.
Fix time +
Triage time + ? ?
# of reopening +
# of tossing +
# of developer
assigned
+ = =
Experience +
# of files changed + = =
Entropy +
more(+) no difference (=) studying (?)
Chrome
+
+
+
+
+
23
Security Perf. Security Perf.
Fix time +
Triage time + ? ?
# of reopening +
# of tossing +
# of developer
assigned
+ = =
Experience +
# of files changed + = =
Entropy +
more(+) no difference (=) studying (?)
Chrome
+
+
+
+
+
24
Threats to Validity
• Focused on one domain
• Use of heuristics in bug type identification
• Bug disclosure policies
Non-disclosed
security bugs
25
YES! 26

More Related Content

What's hot

Nick Drage & Fraser Scott - Epic battle devops vs security
Nick Drage & Fraser Scott - Epic battle devops vs securityNick Drage & Fraser Scott - Epic battle devops vs security
Nick Drage & Fraser Scott - Epic battle devops vs securityDevSecCon
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference ArchitecturesSonatype
 
Chaos engineering for cloud native security
Chaos engineering for cloud native securityChaos engineering for cloud native security
Chaos engineering for cloud native securityKennedy
 
Application Security at DevOps Speed - DevOpsDays Singapore 2016
Application Security at DevOps Speed - DevOpsDays Singapore 2016Application Security at DevOps Speed - DevOpsDays Singapore 2016
Application Security at DevOps Speed - DevOpsDays Singapore 2016Stefan Streichsbier
 
Attacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryAttacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryJames Wickett
 
Dos and Don'ts of DevSecOps
Dos and Don'ts of DevSecOpsDos and Don'ts of DevSecOps
Dos and Don'ts of DevSecOpsPriyanka Aash
 
OWASP AppSec Global 2019 Security & Chaos Engineering
OWASP AppSec Global 2019 Security & Chaos EngineeringOWASP AppSec Global 2019 Security & Chaos Engineering
OWASP AppSec Global 2019 Security & Chaos EngineeringAaron Rinehart
 
AllTheTalks Security Chaos Engineering
AllTheTalks Security Chaos Engineering AllTheTalks Security Chaos Engineering
AllTheTalks Security Chaos Engineering Aaron Rinehart
 
DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney DevSecCon
 
RSA 2021 Navigating the Unknowable: Resilience through Security Chaos Enginee...
RSA 2021 Navigating the Unknowable: Resilience through Security Chaos Enginee...RSA 2021 Navigating the Unknowable: Resilience through Security Chaos Enginee...
RSA 2021 Navigating the Unknowable: Resilience through Security Chaos Enginee...Aaron Rinehart
 
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven WierckxDevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven WierckxDevSecCon
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012Nick Galbreath
 
Hacker Games & DevSecOps
Hacker Games & DevSecOpsHacker Games & DevSecOps
Hacker Games & DevSecOpslokori
 
Tackling the Container Iceberg: How to Approach Security When Most of Your So...
Tackling the Container Iceberg: How to Approach Security When Most of Your So...Tackling the Container Iceberg: How to Approach Security When Most of Your So...
Tackling the Container Iceberg: How to Approach Security When Most of Your So...DevOps.com
 
8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOpsFelicia Haggarty
 
ChaoSlingr: Introducing Security based Chaos Testing
ChaoSlingr: Introducing Security based Chaos TestingChaoSlingr: Introducing Security based Chaos Testing
ChaoSlingr: Introducing Security based Chaos TestingAaron Rinehart
 
RSA Conference APJ 2019 DevSecOps Days Security Chaos Engineering
RSA Conference APJ 2019 DevSecOps Days Security Chaos EngineeringRSA Conference APJ 2019 DevSecOps Days Security Chaos Engineering
RSA Conference APJ 2019 DevSecOps Days Security Chaos EngineeringAaron Rinehart
 
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"Aaron Rinehart
 

What's hot (20)

Nick Drage & Fraser Scott - Epic battle devops vs security
Nick Drage & Fraser Scott - Epic battle devops vs securityNick Drage & Fraser Scott - Epic battle devops vs security
Nick Drage & Fraser Scott - Epic battle devops vs security
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures
 
The State of DevSecOps
The State of DevSecOpsThe State of DevSecOps
The State of DevSecOps
 
Chaos engineering for cloud native security
Chaos engineering for cloud native securityChaos engineering for cloud native security
Chaos engineering for cloud native security
 
Application Security at DevOps Speed - DevOpsDays Singapore 2016
Application Security at DevOps Speed - DevOpsDays Singapore 2016Application Security at DevOps Speed - DevOpsDays Singapore 2016
Application Security at DevOps Speed - DevOpsDays Singapore 2016
 
Attacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryAttacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous Delivery
 
Dos and Don'ts of DevSecOps
Dos and Don'ts of DevSecOpsDos and Don'ts of DevSecOps
Dos and Don'ts of DevSecOps
 
DevSecOps - The big picture
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big picture
 
OWASP AppSec Global 2019 Security & Chaos Engineering
OWASP AppSec Global 2019 Security & Chaos EngineeringOWASP AppSec Global 2019 Security & Chaos Engineering
OWASP AppSec Global 2019 Security & Chaos Engineering
 
AllTheTalks Security Chaos Engineering
AllTheTalks Security Chaos Engineering AllTheTalks Security Chaos Engineering
AllTheTalks Security Chaos Engineering
 
DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney
 
RSA 2021 Navigating the Unknowable: Resilience through Security Chaos Enginee...
RSA 2021 Navigating the Unknowable: Resilience through Security Chaos Enginee...RSA 2021 Navigating the Unknowable: Resilience through Security Chaos Enginee...
RSA 2021 Navigating the Unknowable: Resilience through Security Chaos Enginee...
 
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven WierckxDevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
 
Hacker Games & DevSecOps
Hacker Games & DevSecOpsHacker Games & DevSecOps
Hacker Games & DevSecOps
 
Tackling the Container Iceberg: How to Approach Security When Most of Your So...
Tackling the Container Iceberg: How to Approach Security When Most of Your So...Tackling the Container Iceberg: How to Approach Security When Most of Your So...
Tackling the Container Iceberg: How to Approach Security When Most of Your So...
 
8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps
 
ChaoSlingr: Introducing Security based Chaos Testing
ChaoSlingr: Introducing Security based Chaos TestingChaoSlingr: Introducing Security based Chaos Testing
ChaoSlingr: Introducing Security based Chaos Testing
 
RSA Conference APJ 2019 DevSecOps Days Security Chaos Engineering
RSA Conference APJ 2019 DevSecOps Days Security Chaos EngineeringRSA Conference APJ 2019 DevSecOps Days Security Chaos Engineering
RSA Conference APJ 2019 DevSecOps Days Security Chaos Engineering
 
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
 

Viewers also liked

Metabolomics-2016_Brochure_2
Metabolomics-2016_Brochure_2Metabolomics-2016_Brochure_2
Metabolomics-2016_Brochure_2David Moore
 
Applied Material_ Certificate of Appreciation
Applied Material_ Certificate of AppreciationApplied Material_ Certificate of Appreciation
Applied Material_ Certificate of AppreciationAtul Shah
 
The Art of Social Media: Web Integration
The Art of Social Media: Web IntegrationThe Art of Social Media: Web Integration
The Art of Social Media: Web IntegrationChristina Adams
 
Dolor Lumbar Inespecifico en el niño
Dolor Lumbar Inespecifico en el niñoDolor Lumbar Inespecifico en el niño
Dolor Lumbar Inespecifico en el niñoSAMFYRE
 
Six Foundations for Building Community Resilience
Six Foundations for Building Community ResilienceSix Foundations for Building Community Resilience
Six Foundations for Building Community ResiliencePost Carbon Institute
 
Various interpretations of Arvind Adiga's The White Tiger
Various interpretations of Arvind Adiga's The White TigerVarious interpretations of Arvind Adiga's The White Tiger
Various interpretations of Arvind Adiga's The White TigerNikunjBhatti
 

Viewers also liked (12)

Capítulo II
Capítulo IICapítulo II
Capítulo II
 
Trading Strategy
Trading StrategyTrading Strategy
Trading Strategy
 
tracking sheet-1
tracking sheet-1tracking sheet-1
tracking sheet-1
 
Metabolomics-2016_Brochure_2
Metabolomics-2016_Brochure_2Metabolomics-2016_Brochure_2
Metabolomics-2016_Brochure_2
 
Applied Material_ Certificate of Appreciation
Applied Material_ Certificate of AppreciationApplied Material_ Certificate of Appreciation
Applied Material_ Certificate of Appreciation
 
SPIRULINA (Arthrospira platensis)
SPIRULINA (Arthrospira platensis)SPIRULINA (Arthrospira platensis)
SPIRULINA (Arthrospira platensis)
 
Trabajo de Informatica
Trabajo de InformaticaTrabajo de Informatica
Trabajo de Informatica
 
The Art of Social Media: Web Integration
The Art of Social Media: Web IntegrationThe Art of Social Media: Web Integration
The Art of Social Media: Web Integration
 
Dolor Lumbar Inespecifico en el niño
Dolor Lumbar Inespecifico en el niñoDolor Lumbar Inespecifico en el niño
Dolor Lumbar Inespecifico en el niño
 
Six Foundations for Building Community Resilience
Six Foundations for Building Community ResilienceSix Foundations for Building Community Resilience
Six Foundations for Building Community Resilience
 
Sponsorship deck v2
Sponsorship deck v2Sponsorship deck v2
Sponsorship deck v2
 
Various interpretations of Arvind Adiga's The White Tiger
Various interpretations of Arvind Adiga's The White TigerVarious interpretations of Arvind Adiga's The White Tiger
Various interpretations of Arvind Adiga's The White Tiger
 

Similar to Msr2011 zaman

JSCONF 2018 - Baking security into DevOps - a tale of hunting down bugs befor...
JSCONF 2018 - Baking security into DevOps - a tale of hunting down bugs befor...JSCONF 2018 - Baking security into DevOps - a tale of hunting down bugs befor...
JSCONF 2018 - Baking security into DevOps - a tale of hunting down bugs befor...Wouter Bloeyaert
 
From Zero to DevSecOps: How to Implement Security at the Speed of DevOps
From Zero to DevSecOps: How to Implement Security at the Speed of DevOps From Zero to DevSecOps: How to Implement Security at the Speed of DevOps
From Zero to DevSecOps: How to Implement Security at the Speed of DevOps WhiteSource
 
José Vila - ¿Otro parche más? No, por favor. [rooted2018]
José Vila - ¿Otro parche más? No, por favor. [rooted2018]José Vila - ¿Otro parche más? No, por favor. [rooted2018]
José Vila - ¿Otro parche más? No, por favor. [rooted2018]RootedCON
 
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptxSecure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptxlior mazor
 
Cloud, DevOps and the New Security Practitioner
Cloud, DevOps and the New Security PractitionerCloud, DevOps and the New Security Practitioner
Cloud, DevOps and the New Security PractitionerAdrian Sanabria
 
DevOps and Devsecops What are the Differences.pdf
DevOps and Devsecops What are the Differences.pdfDevOps and Devsecops What are the Differences.pdf
DevOps and Devsecops What are the Differences.pdfTechugo
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right nowCaleb Jenkins
 
How to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less timeHow to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less timeRogue Wave Software
 
Making Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybMaking Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybSeniorStoryteller
 
DevOps and Devsecops.pdf
DevOps and Devsecops.pdfDevOps and Devsecops.pdf
DevOps and Devsecops.pdfTechugo
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsCheckmarx
 
Elizabeth Lawler - Devops, security, and compliance working in unison
Elizabeth Lawler - Devops, security, and compliance working in unisonElizabeth Lawler - Devops, security, and compliance working in unison
Elizabeth Lawler - Devops, security, and compliance working in unisonDevSecCon
 
DevOps and Devsecops- What are the Differences.
DevOps and Devsecops- What are the Differences.DevOps and Devsecops- What are the Differences.
DevOps and Devsecops- What are the Differences.Techugo
 
Open Source Insight: SCA for DevOps, DHS Security, Securing Open Source for G...
Open Source Insight: SCA for DevOps, DHS Security, Securing Open Source for G...Open Source Insight: SCA for DevOps, DHS Security, Securing Open Source for G...
Open Source Insight: SCA for DevOps, DHS Security, Securing Open Source for G...Black Duck by Synopsys
 
DevOps and Devsecops- Everything you need to know.
DevOps and Devsecops- Everything you need to know.DevOps and Devsecops- Everything you need to know.
DevOps and Devsecops- Everything you need to know.Techugo
 
DevSecOps : an Introduction
DevSecOps : an IntroductionDevSecOps : an Introduction
DevSecOps : an IntroductionPrashanth B. P.
 
Why DevOps != the Wild West and How Embracing it Can Improve Security - RSA C...
Why DevOps != the Wild West and How Embracing it Can Improve Security - RSA C...Why DevOps != the Wild West and How Embracing it Can Improve Security - RSA C...
Why DevOps != the Wild West and How Embracing it Can Improve Security - RSA C...Dan Cundiff
 
Outpost24 webinar: Turning DevOps and security into DevSecOps
Outpost24 webinar: Turning DevOps and security into DevSecOpsOutpost24 webinar: Turning DevOps and security into DevSecOps
Outpost24 webinar: Turning DevOps and security into DevSecOpsOutpost24
 

Similar to Msr2011 zaman (20)

JSCONF 2018 - Baking security into DevOps - a tale of hunting down bugs befor...
JSCONF 2018 - Baking security into DevOps - a tale of hunting down bugs befor...JSCONF 2018 - Baking security into DevOps - a tale of hunting down bugs befor...
JSCONF 2018 - Baking security into DevOps - a tale of hunting down bugs befor...
 
From Zero to DevSecOps: How to Implement Security at the Speed of DevOps
From Zero to DevSecOps: How to Implement Security at the Speed of DevOps From Zero to DevSecOps: How to Implement Security at the Speed of DevOps
From Zero to DevSecOps: How to Implement Security at the Speed of DevOps
 
José Vila - ¿Otro parche más? No, por favor. [rooted2018]
José Vila - ¿Otro parche más? No, por favor. [rooted2018]José Vila - ¿Otro parche más? No, por favor. [rooted2018]
José Vila - ¿Otro parche más? No, por favor. [rooted2018]
 
DevOps for Humans
DevOps for HumansDevOps for Humans
DevOps for Humans
 
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptxSecure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
 
Dev{sec}ops
Dev{sec}opsDev{sec}ops
Dev{sec}ops
 
Cloud, DevOps and the New Security Practitioner
Cloud, DevOps and the New Security PractitionerCloud, DevOps and the New Security Practitioner
Cloud, DevOps and the New Security Practitioner
 
DevOps and Devsecops What are the Differences.pdf
DevOps and Devsecops What are the Differences.pdfDevOps and Devsecops What are the Differences.pdf
DevOps and Devsecops What are the Differences.pdf
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
 
How to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less timeHow to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less time
 
Making Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybMaking Security Agile - Oleg Gryb
Making Security Agile - Oleg Gryb
 
DevOps and Devsecops.pdf
DevOps and Devsecops.pdfDevOps and Devsecops.pdf
DevOps and Devsecops.pdf
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOps
 
Elizabeth Lawler - Devops, security, and compliance working in unison
Elizabeth Lawler - Devops, security, and compliance working in unisonElizabeth Lawler - Devops, security, and compliance working in unison
Elizabeth Lawler - Devops, security, and compliance working in unison
 
DevOps and Devsecops- What are the Differences.
DevOps and Devsecops- What are the Differences.DevOps and Devsecops- What are the Differences.
DevOps and Devsecops- What are the Differences.
 
Open Source Insight: SCA for DevOps, DHS Security, Securing Open Source for G...
Open Source Insight: SCA for DevOps, DHS Security, Securing Open Source for G...Open Source Insight: SCA for DevOps, DHS Security, Securing Open Source for G...
Open Source Insight: SCA for DevOps, DHS Security, Securing Open Source for G...
 
DevOps and Devsecops- Everything you need to know.
DevOps and Devsecops- Everything you need to know.DevOps and Devsecops- Everything you need to know.
DevOps and Devsecops- Everything you need to know.
 
DevSecOps : an Introduction
DevSecOps : an IntroductionDevSecOps : an Introduction
DevSecOps : an Introduction
 
Why DevOps != the Wild West and How Embracing it Can Improve Security - RSA C...
Why DevOps != the Wild West and How Embracing it Can Improve Security - RSA C...Why DevOps != the Wild West and How Embracing it Can Improve Security - RSA C...
Why DevOps != the Wild West and How Embracing it Can Improve Security - RSA C...
 
Outpost24 webinar: Turning DevOps and security into DevSecOps
Outpost24 webinar: Turning DevOps and security into DevSecOpsOutpost24 webinar: Turning DevOps and security into DevSecOps
Outpost24 webinar: Turning DevOps and security into DevSecOps
 

More from SAIL_QU

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsSAIL_QU
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...SAIL_QU
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...SAIL_QU
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...SAIL_QU
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...SAIL_QU
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...SAIL_QU
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?SAIL_QU
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesSAIL_QU
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesSAIL_QU
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...SAIL_QU
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...SAIL_QU
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...SAIL_QU
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?SAIL_QU
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...SAIL_QU
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...SAIL_QU
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsSAIL_QU
 

More from SAIL_QU (20)

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
 

Msr2011 zaman

  • 1. Security versus Performance Bugs: A Case Study on Shahed Zaman, Bram Adams, Ahmed E. Hassan Software Analysis and Intelligence Lab (SAIL), Queen’s University 1
  • 2. Costly Bugs have a high impact on companies Affect reputation 482 bugs/week Firefox 2
  • 3. Most research treats all bugs equally Does this make sense? 3
  • 5. Our Study Dimensions Are security bugs fixed by more experienced developers? Are security fixes more complex? Time People Fix Are security bugs fixed faster? 5
  • 6. Study Overview Bugzilla CVS Bug Type And Bug Fix Identification Performance Security Other Bugs Metric Extraction Analysis 6
  • 8. Identification of Performance Bugs ‘slow’, ‘perf’, ‘hang’ Our heuristics have: 100 ± 5% precision 80 ± 5% recall 8
  • 9. Reported Bugs in Firefox Timeframe of our study 9
  • 10. Our Study Dimensions Are security bugs fixed by more experienced developers? Are security fixes more complex? Time People Fix Are security bugs fixed faster? 10
  • 11. The lifetime of a Bug FIXEDNEW ASSIGNED CLOSED TRIAGE 11
  • 12. Security bugs are triaged faster Log(1 + triage time) 46629 179870 RatioofBugs X 3.8 12
  • 13. The lifetime of a Bug FIXEDNEW ASSIGNED CLOSED FIXING TRIAGED FASTER 13
  • 14. Security Bugs are fixed faster Log(1 + time between assignment and fix) RatioofBugs 14
  • 15. Rework in the lifetime of a Bug REOPENED FIXEDNEW ASSIGNED CLOSED FIXED FASTER TOSSING TRIAGED FASTER 15
  • 16. Security Bugs: tossed & re-opened more often # of times bug tossing tossed more ! RatioofBugs # of times bug reopened RatioofBugs reopened more ! 16
  • 17. Our Study Dimensions Are security bugs fixed by more experienced developers? Are security fixes more complex? Time People Fix Are security bugs fixed faster? YES! 17
  • 18. Security bugs are fixed by more experienced developers Experience in # of days RatioofBugs More experienced 18
  • 19. Our Study Dimensions Are security bugs fixed by more experienced developers? Are security fixes more complex? Time People Fix Are security bugs fixed faster? YES!YES! 19
  • 20. Entropy as a measure of Complexity 0 2 4 6 V W X Y Z #ofchangedlines File Fix 2 0 2 4 6 A B C D E #ofchangedlines File Fix 1 More Complex 20
  • 21. Security fixes are more complex entropy RatioofBugs 21
  • 22. Our Study Dimensions Are security bugs fixed by more experienced developers? Are security fixes more complex? Time People Fix Are security bugs fixed faster? YES!YES! YES! 22
  • 23. Security Perf. Security Perf. Fix time + Triage time + ? ? # of reopening + # of tossing + # of developer assigned + = = Experience + # of files changed + = = Entropy + more(+) no difference (=) studying (?) Chrome + + + + + 23
  • 24. Security Perf. Security Perf. Fix time + Triage time + ? ? # of reopening + # of tossing + # of developer assigned + = = Experience + # of files changed + = = Entropy + more(+) no difference (=) studying (?) Chrome + + + + + 24
  • 25. Threats to Validity • Focused on one domain • Use of heuristics in bug type identification • Bug disclosure policies Non-disclosed security bugs 25

Editor's Notes

  1. High impact on companies
  2. Describe : Triage time Use of # of tossing to evaluate triage time Fix time Use of # of reopening to evaluate fix time
  3. Bugzilla is the bug tracking system used by Mozilla and CVS is the code repository. We had to use both and merge the data together. Bug reports in bugzilla are not linked with the bug fixes in CVS. We had to link these two. For that, we used the revision comments from developers found in CVS. Optionally, they use the corresponding bug id # … which we used to link. Bugzilla has a keyword field. For performance bug, the word “perf” was occasionally used in this field. Also, performance bugs usually contains the word “perf”, “hang”, “slow” in the bug title or short description. We used this heuristic to identify the perf bugs. For security bugs, we used MFSA data. In MFSA, they list the security advisory for end users. For every advisory there, it contains a reference field which contains the link to the corresponding bug in bugzilla. We used this information for security bug identification.
  4. Drop of number of security bug shows the existence of bug disclosure policy of Firefox. Newer security bugs are kept secret with restricted access until it is completely fixed and no longer a security threat.
  5. Describe : Triage time Use of # of tossing to evaluate triage time Fix time Use of # of reopening to evaluate fix time
  6. Although these curves are too close. This is in log scale, so the difference is large And, we used t-test which showed that the difference is even statistically significant.
  7. Although these curves are too close. This is in log scale, so the difference is large And, we used t-test which showed that the difference is even statistically significant. Log(1+46629) = 10.75 Log(1+179870) = 12.1
  8. Although these curves are too close. This is in log scale, so the difference is large And, we used t-test which showed that the difference is even statistically significant.
  9. Although these curves are too close. This is in log scale, so the difference is large And, we used t-test which showed that the difference is even statistically significant.
  10. Although these curves are too close. This is in log scale, so the difference is large And, we used t-test which showed that the difference is even statistically significant.
  11. There may be two reasons for more reopening: Developers hurried to fix the bug and did it incompletely. Security bugs fixes are harder to test and they couldn’t completely fix it first time. We also found that security bugs are assigned faster. But fast assignment not necessarily mean correct assignment. We found that, security bugs are tossed more too.
  12. Describe : Triage time Use of # of tossing to evaluate triage time Fix time Use of # of reopening to evaluate fix time
  13. We used 2 metrics for developer experience Number of previously fixed bugs by the developer. 2. Experience in days, i.e., the number of days from the first bug fix of the developer to the current bug's fix date.
  14. Describe : Triage time Use of # of tossing to evaluate triage time Fix time Use of # of reopening to evaluate fix time
  15. Entropy takes into account both no of lines and files changed Both fixes change same number of files
  16. There is a huge difference in security. Why ? From further investigation, we found that some security bugs revealed security flaws that was extremely invasive. For example, for one bug (id # 289940), we found 296 changes in the code repository.
  17. Describe : Triage time Use of # of tossing to evaluate triage time Fix time Use of # of reopening to evaluate fix time
  18. (847) security bugs (178,531) others (4,293) performance bugs. Fix data: 303 = perf 174 = sec 7800 = other