SlideShare a Scribd company logo
1 of 24
An Empirical Study of Dormant Bugs
Tse-Hsun(Peter) Chen Meiyappan Nagappan Emad Shihab Ahmed E. Hassan
1
Most studies focus on post-release bugs
2
Version A Version B
File
A
Bug 1 Bug 2
Bugs Discovered!Assign Bugs to File A
Some bugs may remain dormant for a
long time
3
Version A Version CVersion B
File
A
Bug is waken up, but is
counted as post-release
bug for Version B
Zzz… Zzz…
What are dormant bugs?
4
Version BVersion A Version C Today
File
A
Bug 1
File B
Bug 2 Bug 3
Bugs
introduced in
Version A
Not a
dormant bug
Bug 2
Dormant bug
(discovered one
version after it
was introduced )
Dormant bug
(discovered
many versions
after it was
introduced )
Bug 1
…
Zzz..Zzz..
Bug 3
Dormant bugs affect perceived
software quality
5
VersionA
Version
B
Version A has 5 bugs Version B has 10 bugs
Dormant bugs affect perceived
software quality
6
VersionA
Version
B
Version A has 5 bugs Version B has 10 bugs
Version B has 8
dormant bugs!
These dormant bugs were
introduced in version A
Case study on 20 systems
7
Studied 20 open-source systems in the Apache Foundation
Analyzed all versions
System LOCs: 61K ~ 1.5M
# dormant
bugs
29%
# non-
dormant
bugs
71%
Many bugs are actually dormant bugs
8
VersionA
Version
C
Bug introduced
in Version A
33% of bugs become
dormant bugs!
VersionA
Bugs reported in
Version A
Many post-release bugs are actually
introduced in MUCH EARLIER versions!
20% of bugs are
dormant bugs from
prior versions
RQ1: How quickly are
dormant bugs fixed?
Research questions
9
RQ2: What is the size
of a dormant bug fix?
RQ3: Who fixes
dormant bugs?
RQ4: What are the root
causes of dormant bug
fixes?
RQ1: How quickly are
dormant bugs fixed?
Research questions
10
RQ2: What is the size
of a dormant bug fix?
RQ3: Who fixes
dormant bugs?
RQ4: What are the root
causes of dormant bug
fixes?
Dormant bugs are fixed faster and the
fixes are larger
11
Dormant Non-dormant
Take 5 days to fix
(median)
Takes 60% more
time to fix
Dormant Non-dormant
Fix size is 19
LOC (median)
Fix size is 50%
smaller
RQ1: How quickly are
dormant bugs fixed?
Research questions
12
RQ2: What is the size
of a dormant bug fix?
RQ3: Who fixes
dormant bugs?
RQ4: What are the root
causes of dormant bug
fixes?
RQ1: How quickly are
dormant bugs fixed?
Research questions
13
RQ2: What is the size
of a dormant bug fix?
RQ3: Who fixes
dormant bugs?
RQ4: What are the root
causes of dormant bug
fixes?
Dormant fixers are more experienced
14
Dormant Non-dormant
#ofpriorcommitsofbugfixers
RQ1: How quickly are
dormant bugs fixed?
Research questions
15
RQ2: What is the size
of a dormant bug fix?
RQ3: Who fixes
dormant bugs?
RQ4: What are the root
causes of dormant bug
fixes?
RQ1: How quickly are
dormant bugs fixed?
Research questions
16
RQ2: What is the size
of a dormant bug fix?
RQ3: Who fixes
dormant bugs?
RQ4: What are the root
causes of dormant bug
fixes?
Manual study of the root causes
17
All bugs
Randomly sampled 357
dormant bugs and 357
non-dormant bugs
Manually classify the
bugs
Manually-derived root causes
18
%ofbugsbelongtoeachmanually-derivedrootcause
Corner
cases
Control
flow
Missing
Features
Process-
ing
Implemen-
tation
Stacked barplot of:
Dormant bugs are different from non-
dormant bugs
19
We should consider dormant bugs in
future studies to avoid bias
They are different!
20
21
22
23
24

More Related Content

Similar to MSR2014 - An Empirical Study of Dormant Bugs

DevAppLB - PhoneGap Zombie App - Dani Arnaout
DevAppLB - PhoneGap Zombie App - Dani ArnaoutDevAppLB - PhoneGap Zombie App - Dani Arnaout
DevAppLB - PhoneGap Zombie App - Dani ArnaoutDani Arnaout
 
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
 
Favourite technology
Favourite technologyFavourite technology
Favourite technologyOlga Sergeeva
 
Five Stages of Development - Nordic.js
Five Stages of Development  - Nordic.jsFive Stages of Development  - Nordic.js
Five Stages of Development - Nordic.jsRobert Nyman
 
2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven development2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven developmentPROIDEA
 
Debugging Your Plone Site
Debugging Your Plone SiteDebugging Your Plone Site
Debugging Your Plone Sitecdw9
 
6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!Thomas Peham
 
Five stages of development - at Vaimo
Five stages of development - at VaimoFive stages of development - at Vaimo
Five stages of development - at VaimoRobert Nyman
 
Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout
Version Control Systems - ArabNet Beirut 2014 - Dani ArnaoutVersion Control Systems - ArabNet Beirut 2014 - Dani Arnaout
Version Control Systems - ArabNet Beirut 2014 - Dani ArnaoutDani Arnaout
 
Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Arty Starr
 
Improving Bug Tracking Systems
Improving Bug Tracking SystemsImproving Bug Tracking Systems
Improving Bug Tracking SystemsRahul Premraj
 
React Apps at AirHelp. Lessons learned.
React Apps at AirHelp. Lessons learned.React Apps at AirHelp. Lessons learned.
React Apps at AirHelp. Lessons learned.AirHelp
 
Software testing and concolic execution LSE 2013
Software testing and concolic execution LSE 2013Software testing and concolic execution LSE 2013
Software testing and concolic execution LSE 2013Jonathan Salwan
 
Droidcon thessaloniki 2015
Droidcon thessaloniki 2015Droidcon thessaloniki 2015
Droidcon thessaloniki 2015Raymond Chenon
 

Similar to MSR2014 - An Empirical Study of Dormant Bugs (20)

Why You Should Be Fixing Bugs
Why You Should Be Fixing BugsWhy You Should Be Fixing Bugs
Why You Should Be Fixing Bugs
 
DevAppLB - PhoneGap Zombie App - Dani Arnaout
DevAppLB - PhoneGap Zombie App - Dani ArnaoutDevAppLB - PhoneGap Zombie App - Dani Arnaout
DevAppLB - PhoneGap Zombie App - Dani Arnaout
 
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...
 
Failfast
FailfastFailfast
Failfast
 
Favourite technology
Favourite technologyFavourite technology
Favourite technology
 
Five Stages of Development - Nordic.js
Five Stages of Development  - Nordic.jsFive Stages of Development  - Nordic.js
Five Stages of Development - Nordic.js
 
2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven development2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven development
 
Source Control 101
Source Control 101Source Control 101
Source Control 101
 
Debugging Your Plone Site
Debugging Your Plone SiteDebugging Your Plone Site
Debugging Your Plone Site
 
6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!
 
Five stages of development - at Vaimo
Five stages of development - at VaimoFive stages of development - at Vaimo
Five stages of development - at Vaimo
 
Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout
Version Control Systems - ArabNet Beirut 2014 - Dani ArnaoutVersion Control Systems - ArabNet Beirut 2014 - Dani Arnaout
Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout
 
SAD15 - Maintenance
SAD15 - MaintenanceSAD15 - Maintenance
SAD15 - Maintenance
 
Bug first Zero Defect
Bug first   Zero DefectBug first   Zero Defect
Bug first Zero Defect
 
Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Let's Make the PAIN Visible!
Let's Make the PAIN Visible!
 
Improving Bug Tracking Systems
Improving Bug Tracking SystemsImproving Bug Tracking Systems
Improving Bug Tracking Systems
 
React Apps at AirHelp. Lessons learned.
React Apps at AirHelp. Lessons learned.React Apps at AirHelp. Lessons learned.
React Apps at AirHelp. Lessons learned.
 
Software testing and concolic execution LSE 2013
Software testing and concolic execution LSE 2013Software testing and concolic execution LSE 2013
Software testing and concolic execution LSE 2013
 
Introducing BugBase 1.0
Introducing BugBase 1.0Introducing BugBase 1.0
Introducing BugBase 1.0
 
Droidcon thessaloniki 2015
Droidcon thessaloniki 2015Droidcon thessaloniki 2015
Droidcon thessaloniki 2015
 

More from Concordia University

Towards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportTowards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportConcordia University
 
A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...Concordia University
 
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...Concordia University
 
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...Concordia University
 
ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...
ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...
ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...Concordia University
 
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...Concordia University
 
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsCSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsConcordia University
 
Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Concordia University
 
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...Concordia University
 
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...Concordia University
 
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...Concordia University
 
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...Concordia University
 

More from Concordia University (13)

Towards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportTowards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent support
 
A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...
 
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
 
Icse2018 autonomic
Icse2018 autonomicIcse2018 autonomic
Icse2018 autonomic
 
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
 
ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...
ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...
ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...
 
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
 
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsCSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
 
Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...
 
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
 
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
 
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
 
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
 

Recently uploaded

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 

Recently uploaded (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

MSR2014 - An Empirical Study of Dormant Bugs

  • 1. An Empirical Study of Dormant Bugs Tse-Hsun(Peter) Chen Meiyappan Nagappan Emad Shihab Ahmed E. Hassan 1
  • 2. Most studies focus on post-release bugs 2 Version A Version B File A Bug 1 Bug 2 Bugs Discovered!Assign Bugs to File A
  • 3. Some bugs may remain dormant for a long time 3 Version A Version CVersion B File A Bug is waken up, but is counted as post-release bug for Version B Zzz… Zzz…
  • 4. What are dormant bugs? 4 Version BVersion A Version C Today File A Bug 1 File B Bug 2 Bug 3 Bugs introduced in Version A Not a dormant bug Bug 2 Dormant bug (discovered one version after it was introduced ) Dormant bug (discovered many versions after it was introduced ) Bug 1 … Zzz..Zzz.. Bug 3
  • 5. Dormant bugs affect perceived software quality 5 VersionA Version B Version A has 5 bugs Version B has 10 bugs
  • 6. Dormant bugs affect perceived software quality 6 VersionA Version B Version A has 5 bugs Version B has 10 bugs Version B has 8 dormant bugs! These dormant bugs were introduced in version A
  • 7. Case study on 20 systems 7 Studied 20 open-source systems in the Apache Foundation Analyzed all versions System LOCs: 61K ~ 1.5M # dormant bugs 29% # non- dormant bugs 71%
  • 8. Many bugs are actually dormant bugs 8 VersionA Version C Bug introduced in Version A 33% of bugs become dormant bugs! VersionA Bugs reported in Version A Many post-release bugs are actually introduced in MUCH EARLIER versions! 20% of bugs are dormant bugs from prior versions
  • 9. RQ1: How quickly are dormant bugs fixed? Research questions 9 RQ2: What is the size of a dormant bug fix? RQ3: Who fixes dormant bugs? RQ4: What are the root causes of dormant bug fixes?
  • 10. RQ1: How quickly are dormant bugs fixed? Research questions 10 RQ2: What is the size of a dormant bug fix? RQ3: Who fixes dormant bugs? RQ4: What are the root causes of dormant bug fixes?
  • 11. Dormant bugs are fixed faster and the fixes are larger 11 Dormant Non-dormant Take 5 days to fix (median) Takes 60% more time to fix Dormant Non-dormant Fix size is 19 LOC (median) Fix size is 50% smaller
  • 12. RQ1: How quickly are dormant bugs fixed? Research questions 12 RQ2: What is the size of a dormant bug fix? RQ3: Who fixes dormant bugs? RQ4: What are the root causes of dormant bug fixes?
  • 13. RQ1: How quickly are dormant bugs fixed? Research questions 13 RQ2: What is the size of a dormant bug fix? RQ3: Who fixes dormant bugs? RQ4: What are the root causes of dormant bug fixes?
  • 14. Dormant fixers are more experienced 14 Dormant Non-dormant #ofpriorcommitsofbugfixers
  • 15. RQ1: How quickly are dormant bugs fixed? Research questions 15 RQ2: What is the size of a dormant bug fix? RQ3: Who fixes dormant bugs? RQ4: What are the root causes of dormant bug fixes?
  • 16. RQ1: How quickly are dormant bugs fixed? Research questions 16 RQ2: What is the size of a dormant bug fix? RQ3: Who fixes dormant bugs? RQ4: What are the root causes of dormant bug fixes?
  • 17. Manual study of the root causes 17 All bugs Randomly sampled 357 dormant bugs and 357 non-dormant bugs Manually classify the bugs
  • 19. Dormant bugs are different from non- dormant bugs 19 We should consider dormant bugs in future studies to avoid bias They are different!
  • 20. 20
  • 21. 21
  • 22. 22
  • 23. 23
  • 24. 24