SlideShare a Scribd company logo
1 of 21
Download to read offline
An Empirical Study on Factors
Impacting Bug Fixing Time
Feng Zhang, Foutse Khomh, Ying Zou
and Ahmed E. Hassan
2
New Assign Bug Fixing Verified Resolved
A Typical Process of Bug Fixing
3
Bug Fixing Time
New ResolvedIntroduced
4
Example: delay before change
Reported & Assigned
Oct-2006
Fixing started & Resolved:
Mar-2011
almost
5 years
5
Example: delay after change
Reported & Assigned
Fixing started & ended:
September-2008
Resolved:
February-2011
over
2 years
6
DBC DBF DAC
Intervals during Bug Fixing
DBR
New ResolvedFirst
Response
Bug Fixing
Start
Bug Fixing
End
Assign
DBA
Delay Before ResponseDBR
Delay Before AssignedDBA
Delay Before ChangeDBC
Duration of Bug FixingDBF
Delay After ChangeDAC
7
Benefits of Studying Delays
Locate time-consuming
steps
Understand factors affecting
the delays
Improve the process of
bug fixing
8
Subject Systems
3,883
logs
2,722
bugs
606
bugs
524
bugs
793
logs
638
logs
Mylyn
Eclipse
Platform
PDE
9
Data Sources
Properties of bug
Change history of bug
Properties of file edits
Static metrics
History metrics
Fine grained change types
Bug ID
10
Properties
of Source
Code
Properties
of Code
Change
Properties
of Bug
Report
Title
Summary
Severity of Bug
Operating System
Comments
Size (LOC, NOM)
Complexity (WMC)
Code Churn
Number of Changed Files
Fine Grained Change Types
Metrics from three Dimensions
11
RQ1: Do delays by developers exist during
bug fixing process?
RQ2: Can we characterize delays incurred by
developers before and after fixing bugs?
RQ3: What factors contribute to the delays
most?
Research Questions
12
RQ1: Bug fixing time extracted
from two data sources
13
RQ1: Intervals during
bug fixing process
Delay
Before
Response
Delay
Before
Assign
Delay
Before
Change
Delay
After
Change
Duration
Of
Bug Fixing
14
Enhancement v.s. Defect
364
Delay
Before
Change
56
186
4
Low Severity v.s. High Severity
198
n.s
110
n.s
RQ2: Properties of Bug Report
Delay
After
Change
Delay
Before
Change
Delay
After
Change
Delay
Before
Change
Delay
After
Change
Delay
Before
Change
Delay
After
Change
15
RQ2: Properties of Bug Report
(cont’)
Length of comment
delay before change
delay after change
16
RQ2: Properties of Source Code
Size of Source Code
delay before change (sum)
delay after change (avg/sum/max)
Complexity of Source Code
delay before change (sum)
delay after change (sum/max)
17
Code Churn
delay before change (avg/sum/max)
delay after change (avg/sum/max)
Fine Grained Change Types
delay before change
delay after change
RQ2: Properties of Code Change
18
RQ3: What factors contribute to
the delays most?
Events:
Long DBC : greater than median
Long DAC : greater than median
Analysis Method: (Logistic Regression Model)
Predict the probability of an event’s occurrence.
Combines different factors.
Interpretation by Coefficient:
magnitude describes importance
sign describes direction
19
RQ3: Factors Impacting
Delays Before Change
-0.5
0.4
0.3
0.2
is bug with high severity
max length of comment
sum NOM
sum Code Churn
-0.5 0.5
Coefficient
20
-0.7
0.5
-0.5
max length of comment
is bug
sum WMC
max WMC
is OS Linux
length of description
avg Code Churn
-0.5
-0.3
0.3
0.7
RQ3: Factors Impacting
Delays After Change
-1.0 1.0 Coefficient
21
Top Two Intervals in Bug Fixing Process
delay before and after change
Delay Before Change
level of severity, code churn (most influential factors)
Delay After Change
comments, complexity (most influential factors)
Conclusions

More Related Content

Viewers also liked

An Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesAn Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub Repositories
SAIL_QU
 
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
An Exploration of Challenges Limiting Pragmatic Software Defect PredictionAn Exploration of Challenges Limiting Pragmatic Software Defect Prediction
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
SAIL_QU
 
Leveraging Historical Co-change Information for Requirements Traceability
Leveraging Historical Co-change Information for Requirements TraceabilityLeveraging Historical Co-change Information for Requirements Traceability
Leveraging Historical Co-change Information for Requirements Traceability
SAIL_QU
 
Revisiting the Applicability of the Pareto Principle to Core Development Team...
Revisiting the Applicability of the Pareto Principle to Core Development Team...Revisiting the Applicability of the Pareto Principle to Core Development Team...
Revisiting the Applicability of the Pareto Principle to Core Development Team...
SAIL_QU
 
An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...
SAIL_QU
 
Ghotra icse
Ghotra icseGhotra icse
Ghotra icse
SAIL_QU
 
Automated Detection of Performance Regressions Using Statistical Process Cont...
Automated Detection of Performance Regressions Using Statistical Process Cont...Automated Detection of Performance Regressions Using Statistical Process Cont...
Automated Detection of Performance Regressions Using Statistical Process Cont...
SAIL_QU
 
Icsm2013 contexts (1)
Icsm2013 contexts (1)Icsm2013 contexts (1)
Icsm2013 contexts (1)
SAIL_QU
 
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
SAIL_QU
 

Viewers also liked (20)

An Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesAn Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub Repositories
 
Recovering the Behaviour of AJAX Applications
Recovering the Behaviour of AJAX ApplicationsRecovering the Behaviour of AJAX Applications
Recovering the Behaviour of AJAX Applications
 
Mining Unstructured Software Repositories Using IR Models
Mining Unstructured Software Repositories Using IR ModelsMining Unstructured Software Repositories Using IR Models
Mining Unstructured Software Repositories Using IR Models
 
Early Identification of Future Committers in Open Source Software Projects
Early Identification of Future Committers in Open Source Software ProjectsEarly Identification of Future Committers in Open Source Software Projects
Early Identification of Future Committers in Open Source Software Projects
 
Studying the Software Development Overhead of Build Systems
Studying the Software Development Overhead of Build SystemsStudying the Software Development Overhead of Build Systems
Studying the Software Development Overhead of Build Systems
 
What are the Characteristics of High-rated Apps
What are the Characteristics of High-rated AppsWhat are the Characteristics of High-rated Apps
What are the Characteristics of High-rated Apps
 
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
An Exploration of Challenges Limiting Pragmatic Software Defect PredictionAn Exploration of Challenges Limiting Pragmatic Software Defect Prediction
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
 
Automatic Load Test Verification Using Control Charts
Automatic Load Test Verification Using Control ChartsAutomatic Load Test Verification Using Control Charts
Automatic Load Test Verification Using Control Charts
 
Leveraging Historical Co-change Information for Requirements Traceability
Leveraging Historical Co-change Information for Requirements TraceabilityLeveraging Historical Co-change Information for Requirements Traceability
Leveraging Historical Co-change Information for Requirements Traceability
 
The Impact of Switching to a Rapid Release Cycle on Integration Delay of Addr...
The Impact of Switching to a Rapid Release Cycle on Integration Delay of Addr...The Impact of Switching to a Rapid Release Cycle on Integration Delay of Addr...
The Impact of Switching to a Rapid Release Cycle on Integration Delay of Addr...
 
Revisiting the Applicability of the Pareto Principle to Core Development Team...
Revisiting the Applicability of the Pareto Principle to Core Development Team...Revisiting the Applicability of the Pareto Principle to Core Development Team...
Revisiting the Applicability of the Pareto Principle to Core Development Team...
 
Recovering a Balanced Overview of Topics in a Software Domain
Recovering a Balanced Overview of Topics in a Software DomainRecovering a Balanced Overview of Topics in a Software Domain
Recovering a Balanced Overview of Topics in a Software Domain
 
An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...
 
Ghotra icse
Ghotra icseGhotra icse
Ghotra icse
 
Automated Detection of Performance Regressions Using Statistical Process Cont...
Automated Detection of Performance Regressions Using Statistical Process Cont...Automated Detection of Performance Regressions Using Statistical Process Cont...
Automated Detection of Performance Regressions Using Statistical Process Cont...
 
Studying the Evolution of Build Systems
Studying the Evolution of Build SystemsStudying the Evolution of Build Systems
Studying the Evolution of Build Systems
 
Icsm2013 contexts (1)
Icsm2013 contexts (1)Icsm2013 contexts (1)
Icsm2013 contexts (1)
 
Large-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsLarge-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile Apps
 
Detecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction HistoriesDetecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction Histories
 
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
 

Similar to Wcre2012 delays slides (1)

A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
Martin Pinzger
 
Scaling to Millions of Simultaneous Connections by Rick Reed from WhatsApp
Scaling to Millions of Simultaneous Connections by Rick Reed from WhatsAppScaling to Millions of Simultaneous Connections by Rick Reed from WhatsApp
Scaling to Millions of Simultaneous Connections by Rick Reed from WhatsApp
mustafa sarac
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
Ali Ouni
 
10135 a 11
10135 a 1110135 a 11
10135 a 11
Bố Su
 
EMC Documentum Compliance Manager Migration Revisited — What a Difference Two...
EMC Documentum Compliance Manager Migration Revisited — What a Difference Two...EMC Documentum Compliance Manager Migration Revisited — What a Difference Two...
EMC Documentum Compliance Manager Migration Revisited — What a Difference Two...
BlueFish
 

Similar to Wcre2012 delays slides (1) (20)

MineDB Mineral Resource Evaluation White Paper
MineDB Mineral Resource Evaluation White PaperMineDB Mineral Resource Evaluation White Paper
MineDB Mineral Resource Evaluation White Paper
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
 
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
Analyzing Changes in Software Systems From ChangeDistiller to FMDiffAnalyzing Changes in Software Systems From ChangeDistiller to FMDiff
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
 
Scaling to Millions of Simultaneous Connections by Rick Reed from WhatsApp
Scaling to Millions of Simultaneous Connections by Rick Reed from WhatsAppScaling to Millions of Simultaneous Connections by Rick Reed from WhatsApp
Scaling to Millions of Simultaneous Connections by Rick Reed from WhatsApp
 
Whatsapp's Architecture
Whatsapp's ArchitectureWhatsapp's Architecture
Whatsapp's Architecture
 
Stephan Ewen - Experiences running Flink at Very Large Scale
Stephan Ewen -  Experiences running Flink at Very Large ScaleStephan Ewen -  Experiences running Flink at Very Large Scale
Stephan Ewen - Experiences running Flink at Very Large Scale
 
Populating a Release History Database (ICSM 2013 MIP)
Populating a Release History Database (ICSM 2013 MIP)Populating a Release History Database (ICSM 2013 MIP)
Populating a Release History Database (ICSM 2013 MIP)
 
The Pill for Your Migration Hell
The Pill for Your Migration HellThe Pill for Your Migration Hell
The Pill for Your Migration Hell
 
Verilog HDL Verification
Verilog HDL VerificationVerilog HDL Verification
Verilog HDL Verification
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation Defense
 
Using FME to Automate Lidar QA\QC Processes
Using FME to Automate Lidar QA\QC ProcessesUsing FME to Automate Lidar QA\QC Processes
Using FME to Automate Lidar QA\QC Processes
 
Space Rovers and Surgical Robots: System Architecture Lessons from Mars
Space Rovers and Surgical Robots: System Architecture Lessons from MarsSpace Rovers and Surgical Robots: System Architecture Lessons from Mars
Space Rovers and Surgical Robots: System Architecture Lessons from Mars
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
 
10135 a 11
10135 a 1110135 a 11
10135 a 11
 
Kustom Impact Analyser
Kustom Impact AnalyserKustom Impact Analyser
Kustom Impact Analyser
 
KIA
KIAKIA
KIA
 
2LA Kustom Impact Analyser
2LA Kustom Impact Analyser2LA Kustom Impact Analyser
2LA Kustom Impact Analyser
 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction Factor
 
Process mining with Disco (Eng)
Process mining with Disco (Eng)Process mining with Disco (Eng)
Process mining with Disco (Eng)
 
EMC Documentum Compliance Manager Migration Revisited — What a Difference Two...
EMC Documentum Compliance Manager Migration Revisited — What a Difference Two...EMC Documentum Compliance Manager Migration Revisited — What a Difference Two...
EMC Documentum Compliance Manager Migration Revisited — What a Difference Two...
 

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

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
 

Wcre2012 delays slides (1)

  • 1. An Empirical Study on Factors Impacting Bug Fixing Time Feng Zhang, Foutse Khomh, Ying Zou and Ahmed E. Hassan
  • 2. 2 New Assign Bug Fixing Verified Resolved A Typical Process of Bug Fixing
  • 3. 3 Bug Fixing Time New ResolvedIntroduced
  • 4. 4 Example: delay before change Reported & Assigned Oct-2006 Fixing started & Resolved: Mar-2011 almost 5 years
  • 5. 5 Example: delay after change Reported & Assigned Fixing started & ended: September-2008 Resolved: February-2011 over 2 years
  • 6. 6 DBC DBF DAC Intervals during Bug Fixing DBR New ResolvedFirst Response Bug Fixing Start Bug Fixing End Assign DBA Delay Before ResponseDBR Delay Before AssignedDBA Delay Before ChangeDBC Duration of Bug FixingDBF Delay After ChangeDAC
  • 7. 7 Benefits of Studying Delays Locate time-consuming steps Understand factors affecting the delays Improve the process of bug fixing
  • 9. 9 Data Sources Properties of bug Change history of bug Properties of file edits Static metrics History metrics Fine grained change types Bug ID
  • 10. 10 Properties of Source Code Properties of Code Change Properties of Bug Report Title Summary Severity of Bug Operating System Comments Size (LOC, NOM) Complexity (WMC) Code Churn Number of Changed Files Fine Grained Change Types Metrics from three Dimensions
  • 11. 11 RQ1: Do delays by developers exist during bug fixing process? RQ2: Can we characterize delays incurred by developers before and after fixing bugs? RQ3: What factors contribute to the delays most? Research Questions
  • 12. 12 RQ1: Bug fixing time extracted from two data sources
  • 13. 13 RQ1: Intervals during bug fixing process Delay Before Response Delay Before Assign Delay Before Change Delay After Change Duration Of Bug Fixing
  • 14. 14 Enhancement v.s. Defect 364 Delay Before Change 56 186 4 Low Severity v.s. High Severity 198 n.s 110 n.s RQ2: Properties of Bug Report Delay After Change Delay Before Change Delay After Change Delay Before Change Delay After Change Delay Before Change Delay After Change
  • 15. 15 RQ2: Properties of Bug Report (cont’) Length of comment delay before change delay after change
  • 16. 16 RQ2: Properties of Source Code Size of Source Code delay before change (sum) delay after change (avg/sum/max) Complexity of Source Code delay before change (sum) delay after change (sum/max)
  • 17. 17 Code Churn delay before change (avg/sum/max) delay after change (avg/sum/max) Fine Grained Change Types delay before change delay after change RQ2: Properties of Code Change
  • 18. 18 RQ3: What factors contribute to the delays most? Events: Long DBC : greater than median Long DAC : greater than median Analysis Method: (Logistic Regression Model) Predict the probability of an event’s occurrence. Combines different factors. Interpretation by Coefficient: magnitude describes importance sign describes direction
  • 19. 19 RQ3: Factors Impacting Delays Before Change -0.5 0.4 0.3 0.2 is bug with high severity max length of comment sum NOM sum Code Churn -0.5 0.5 Coefficient
  • 20. 20 -0.7 0.5 -0.5 max length of comment is bug sum WMC max WMC is OS Linux length of description avg Code Churn -0.5 -0.3 0.3 0.7 RQ3: Factors Impacting Delays After Change -1.0 1.0 Coefficient
  • 21. 21 Top Two Intervals in Bug Fixing Process delay before and after change Delay Before Change level of severity, code churn (most influential factors) Delay After Change comments, complexity (most influential factors) Conclusions