SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Characterizing and Predicting
          Which Bugs Get Fixed


               Philip Guo, Stanford University
               Thomas Zimmermann, Microsoft Research
               Nachiappan Nagappan, Microsoft Research
               Brendan Murphy, Microsoft Research




© Microsoft Corporation
A confession

Opinions expressed on this slide are the personal opinions of the presenter, not of Microsoft. ;-)
Incomplete bugs




Duplicate bugs
Too many bugs
Not all bugs get fixed
       ‱ Bug #1 occurs rarely and affects only a few users.
             – Changes required to fix Bug #1 could be large and
               expensive.

       ‱ Fixing Bug #2 could introduce new bugs
             – Code changes that fix bugs are up to twice as likely to
               introduce new bugs as other kinds of changes.

       ‱ Users are relying on existing behavior
             – Fixing the bug could break their systems.



© Microsoft Corporation
Research question

       How do factors related to people and
       bug report edits affect whether a bug
       is successfully resolved as FIXED?

       → Inefficiencies in bug triaging process
       → Inform design of tools and policies


© Microsoft Corporation
Bug handling is pervasive


   24,000+ MSFT employees
   reported, commented on, or handled
   at least one bug in Windows

                              (vs. 2,000+ Windows developers)




© Microsoft Corporation
Methodology


                    Qualitative    Quantitative
                     survey        data analysis

       Reputation ‱ Interest ‱ Reassignments ‱ Distance ‱
       Additional qualitative factors from survey




© Microsoft Corporation
Qualitative survey
       ‱ In your experience, how do each of these
         factors affect the chances of whether a bug
         will get successfully resolved as FIXED?
             – 7-point Likert scale

       ‱ Sent to 1,773 Microsoft employees
             – Employees who opened OR were assigned to OR
               resolved most Windows Vista bugs
             – 358 responded (20%)



© Microsoft Corporation
SURVEY: How does the bug report's activity affect the
 chances of it being successfully fixed?
               Severity upgraded

           Severity downgraded

                Few editors (<10)

            Many editors (>=10)

          No re-assignments (0)

     Few re-assignments (1-5)

   Many re-assignments (>30)

               At least 1 re-open

                                    -3        -2        -1     0     1         2          3
                                    Decreases chances of fix       Increases chances of fix


© Microsoft Corporation
SURVEY: How do the people involved in addressing the
 bug affect the chances of it being successfully fixed?
   Opener/assignee same person

                          Same manager

                          Same building

                          Same country

                 Different managers

                  Different countries

      Opened by temp. employee

     Assigned to temp. employee

                                          -3       -2       -1       0      1        2          3
                                          Decreases chances of fix       Increases chances of fix


© Microsoft Corporation
Other qualitative factors
           Textual quality of bug report:
           “Just to re-emphasize: The quality of the bug description is very important. Not
           necessarily filling in the dozens of fields in the bug database with all sorts of crap
           (build numbers, dates, classifications, etc) - but just the plain-text description of
           the problem, the implication and maybe even the potential solution.”

           Perceived customer/business impact:
           “Customer impact can be a very big impact on a bug if evidence exists to
           show the cost of not fixing the bug for one or more customers.”

           Rank and seniority of bug opener:
           “A bug opened because something went wrong on a VPs [vice president’s]
           laptop has better chance [of being fixed] than a bug opened because the
           same thing happened to an intern.”

           Interpersonal skills of bug opener:
           “One other ‘soft’ factor is the speaking skill persuasiveness of the developer
           (or other representative) when arguing for the bug.”


© Microsoft Corporation
Quantitative data analysis
       ‱ Correlate likelihood of bug report getting fixed
             – Reputation ‱ Interest ‱ Reassignments ‱ Distance

       ‱ Windows Vista and Windows 7 bug reports
             – Bug lifetime: open, assign, edit, resolve, close

       ‱ Microsoft employee data
             – Manager, Building, Country



© Microsoft Corporation
#1: Reputation

                          “A big influence [on bug fixes] is the
                          reputation of the person opening the bug.
                          If submitter has a history of submitting
                          high quality bugs then new bugs from that
                          person get better attention [...]”



                                     From anonymous survey respondent




© Microsoft Corporation
Quantifying reputation




                  For each bug, calculate opener’s reputation by
                  aggregating over all bugs in the past.


 Hooimeijer and Weimer: Modeling bug report quality. ASE 2007.



© Microsoft Corporation
Reputation vs. bug fixes




© Microsoft Corporation
Reputation vs. bug fixes




© Microsoft Corporation
#2: Interest
                     Windows Vista       Windows 7




© Microsoft Corporation
#3: Reassignments
               Severity upgraded

           Severity downgraded

                Few editors (<10)

            Many editors (>=10)

          No re-assignments (0)

     Few re-assignments (1-5)

   Many re-assignments (>30)

               At least 1 re-open

                                    -3   -2   -1   0   1   2   3




© Microsoft Corporation
#3: Reassignments
                      Windows Vista    Windows 7




© Microsoft Corporation
The need for reassignments
                          “Bugs many times are exposed in the
                          UI [user interface], but are not caused
                          by the team writing the UI code.
                          These bugs can pass down several
                          layers of components before landing
                          on a lower level component owner.”



                                    From anonymous survey respondent




© Microsoft Corporation
#4: Geographical distance




© Microsoft Corporation
#5: Organizational distance




© Microsoft Corporation
Trust vs. distance

                          “Whenever I open bugs assigned to people
                          I know, they are investigated thoroughly as
                          there is a trust in the report I write.
                          Often when reporting a bug within areas
                          where I don't know the owners, there is
                          inherent distrust in the bug report.”


                                      From anonymous survey respondent




© Microsoft Corporation
Predictive model
       ‱ At bug opening time, predict probability of fix
       ‱ Logistic regression model with 7 factors
             –   Bug source
             –   Reputation of bug opener
             –   Reputation of first assignee
             –   Initial severity level
             –   Opened by temporary employee?
             –   Opener & initial assignee had same manager?
             –   Opener & initial assignee in same building?
       ‱ Train on Windows Vista, predict Windows 7 fixes
             – 68% precision, 64% recall (0.50 cut-off)



© Microsoft Corporation
Recommendations
       ‱ Train and incentivize employees to write
         higher-quality bug reports
       ‱ Improve awareness of developers’ expertise
         to minimize reassignments
       ‱ Improve communication and trust amongst
         people in different teams and locations
       ‱ Encourage more objectivity in prioritizing and
         handling bugs


© Microsoft Corporation
Summary
       ‱ Characterization of which bug reports get fixed.
             – At least one reassignment increases but too many
               reassignments decrease the likelihood
             – The higher reputation a bug opener has, the more
               likely his/her bugs are to get fixed.
             – Bugs handled by multiple teams and across
               multiple locations are less likely to get fixed.

       ‱ Survey results provide insights into social factors
         that affect the bug triaging process.
             – Seniority, reputation, personal relations, and trust.



© Microsoft Corporation

Weitere Àhnliche Inhalte

Andere mochten auch

DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
DynaMine: Finding Common Error Patterns by Mining Software Revision HistoriesDynaMine: Finding Common Error Patterns by Mining Software Revision Histories
DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
Thomas Zimmermann
 

Andere mochten auch (10)

Aspect Mining for Large Systems
Aspect Mining for Large SystemsAspect Mining for Large Systems
Aspect Mining for Large Systems
 
Mining Version Histories to Guide Software Changes
Mining Version Histories to Guide Software ChangesMining Version Histories to Guide Software Changes
Mining Version Histories to Guide Software Changes
 
DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
DynaMine: Finding Common Error Patterns by Mining Software Revision HistoriesDynaMine: Finding Common Error Patterns by Mining Software Revision Histories
DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
 
Quality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open Source
 
A Bug Report Analysis and Search Tool (presentation for M.Sc. degree)
A Bug Report Analysis and Search Tool (presentation for M.Sc. degree)A Bug Report Analysis and Search Tool (presentation for M.Sc. degree)
A Bug Report Analysis and Search Tool (presentation for M.Sc. degree)
 
Security trend analysis with CVE topic models
Security trend analysis with CVE topic modelsSecurity trend analysis with CVE topic models
Security trend analysis with CVE topic models
 
Automatic Identification of Bug-Introducing Changes
Automatic Identification of Bug-Introducing ChangesAutomatic Identification of Bug-Introducing Changes
Automatic Identification of Bug-Introducing Changes
 
Predicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency GraphsPredicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency Graphs
 
Software Analytics = Sharing Information
Software Analytics = Sharing InformationSoftware Analytics = Sharing Information
Software Analytics = Sharing Information
 
Philips lighting ppt
Philips lighting pptPhilips lighting ppt
Philips lighting ppt
 

Ähnlich wie Characterizing and predicting which bugs get fixed

Bug best practice
Bug best practiceBug best practice
Bug best practice
gaoliang641
 
11th Website Security Statistics -- Presentation Slides (Q1 2011)
11th Website Security Statistics -- Presentation Slides (Q1 2011)11th Website Security Statistics -- Presentation Slides (Q1 2011)
11th Website Security Statistics -- Presentation Slides (Q1 2011)
Jeremiah Grossman
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing
Mary Clemons
 
Workshop on software product development the backdrop
Workshop on software product development   the backdropWorkshop on software product development   the backdrop
Workshop on software product development the backdrop
Joy Prabhakaran
 
Classic Testing Mistakes 0226
Classic Testing Mistakes 0226Classic Testing Mistakes 0226
Classic Testing Mistakes 0226
MBA_Community
 
2021-10-14 The Critical Role of Security in DevOps.pdf
2021-10-14 The Critical Role of Security in DevOps.pdf2021-10-14 The Critical Role of Security in DevOps.pdf
2021-10-14 The Critical Role of Security in DevOps.pdf
Savinder Puri
 

Ähnlich wie Characterizing and predicting which bugs get fixed (20)

Analytics for smarter software development
Analytics for smarter software development Analytics for smarter software development
Analytics for smarter software development
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
Bug best practice
Bug best practiceBug best practice
Bug best practice
 
What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?
 
11th Website Security Statistics -- Presentation Slides (Q1 2011)
11th Website Security Statistics -- Presentation Slides (Q1 2011)11th Website Security Statistics -- Presentation Slides (Q1 2011)
11th Website Security Statistics -- Presentation Slides (Q1 2011)
 
STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptx
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing
 
Cyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemCyber security - It starts with the embedded system
Cyber security - It starts with the embedded system
 
TDC PoA submission
TDC PoA submissionTDC PoA submission
TDC PoA submission
 
Steve mcconnell
Steve mcconnellSteve mcconnell
Steve mcconnell
 
Workshop on software product development the backdrop
Workshop on software product development   the backdropWorkshop on software product development   the backdrop
Workshop on software product development the backdrop
 
The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
 The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour... The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
 
SW Engineering Management
SW Engineering ManagementSW Engineering Management
SW Engineering Management
 
Performance Testing And Beyond
Performance Testing And BeyondPerformance Testing And Beyond
Performance Testing And Beyond
 
Classic Testing Mistakes 0226
Classic Testing Mistakes 0226Classic Testing Mistakes 0226
Classic Testing Mistakes 0226
 
2021-10-14 The Critical Role of Security in DevOps.pdf
2021-10-14 The Critical Role of Security in DevOps.pdf2021-10-14 The Critical Role of Security in DevOps.pdf
2021-10-14 The Critical Role of Security in DevOps.pdf
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)
 
unit 1 ppt.pptx
unit 1 ppt.pptxunit 1 ppt.pptx
unit 1 ppt.pptx
 
Increasing DevSecOps Maturity Level in 2021
Increasing DevSecOps Maturity Level in 2021Increasing DevSecOps Maturity Level in 2021
Increasing DevSecOps Maturity Level in 2021
 

Mehr von Thomas Zimmermann

Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software development
Thomas Zimmermann
 

Mehr von Thomas Zimmermann (20)

MSR 2013 Preview
MSR 2013 PreviewMSR 2013 Preview
MSR 2013 Preview
 
Predicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode OperationsPredicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode Operations
 
Klingon Countdown Timer
Klingon Countdown TimerKlingon Countdown Timer
Klingon Countdown Timer
 
Data driven games user research
Data driven games user researchData driven games user research
Data driven games user research
 
Empirical Software Engineering at Microsoft Research
Empirical Software Engineering at Microsoft ResearchEmpirical Software Engineering at Microsoft Research
Empirical Software Engineering at Microsoft Research
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software development
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development Activities
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development Activities
 
Meet Tom and his Fish
Meet Tom and his FishMeet Tom and his Fish
Meet Tom and his Fish
 
Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities
 
Got Myth? Myths in Software Engineering
Got Myth? Myths in Software EngineeringGot Myth? Myths in Software Engineering
Got Myth? Myths in Software Engineering
 
Mining Workspace Updates in CVS
Mining Workspace Updates in CVSMining Workspace Updates in CVS
Mining Workspace Updates in CVS
 
Mining Software Archives to Support Software Development
Mining Software Archives to Support Software DevelopmentMining Software Archives to Support Software Development
Mining Software Archives to Support Software Development
 
Unit testing with JUnit
Unit testing with JUnitUnit testing with JUnit
Unit testing with JUnit
 
esolang: Esoterische Programmiersprachen
esolang: Esoterische Programmiersprachenesolang: Esoterische Programmiersprachen
esolang: Esoterische Programmiersprachen
 
TA-RE: An Exchange Language for Mining Software Repositories
TA-RE: An Exchange Language for Mining Software RepositoriesTA-RE: An Exchange Language for Mining Software Repositories
TA-RE: An Exchange Language for Mining Software Repositories
 
Fine-grained Processing of CVS Archives with APFEL
Fine-grained Processing of CVS Archives with APFELFine-grained Processing of CVS Archives with APFEL
Fine-grained Processing of CVS Archives with APFEL
 
How History Justifies System Architecture (or Not)
How History Justifies System Architecture (or Not)How History Justifies System Architecture (or Not)
How History Justifies System Architecture (or Not)
 
HATARI: Raising Risk Awareness
HATARI: Raising Risk AwarenessHATARI: Raising Risk Awareness
HATARI: Raising Risk Awareness
 
Mining Version Archives for Co-changed Lines
Mining Version Archives for Co-changed LinesMining Version Archives for Co-changed Lines
Mining Version Archives for Co-changed Lines
 

KĂŒrzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

KĂŒrzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Characterizing and predicting which bugs get fixed

  • 1. Characterizing and Predicting Which Bugs Get Fixed Philip Guo, Stanford University Thomas Zimmermann, Microsoft Research Nachiappan Nagappan, Microsoft Research Brendan Murphy, Microsoft Research © Microsoft Corporation
  • 3. Opinions expressed on this slide are the personal opinions of the presenter, not of Microsoft. ;-)
  • 4.
  • 5.
  • 8. Not all bugs get fixed ‱ Bug #1 occurs rarely and affects only a few users. – Changes required to fix Bug #1 could be large and expensive. ‱ Fixing Bug #2 could introduce new bugs – Code changes that fix bugs are up to twice as likely to introduce new bugs as other kinds of changes. ‱ Users are relying on existing behavior – Fixing the bug could break their systems. © Microsoft Corporation
  • 9. Research question How do factors related to people and bug report edits affect whether a bug is successfully resolved as FIXED? → Inefficiencies in bug triaging process → Inform design of tools and policies © Microsoft Corporation
  • 10. Bug handling is pervasive 24,000+ MSFT employees reported, commented on, or handled at least one bug in Windows (vs. 2,000+ Windows developers) © Microsoft Corporation
  • 11. Methodology Qualitative Quantitative survey data analysis Reputation ‱ Interest ‱ Reassignments ‱ Distance ‱ Additional qualitative factors from survey © Microsoft Corporation
  • 12. Qualitative survey ‱ In your experience, how do each of these factors affect the chances of whether a bug will get successfully resolved as FIXED? – 7-point Likert scale ‱ Sent to 1,773 Microsoft employees – Employees who opened OR were assigned to OR resolved most Windows Vista bugs – 358 responded (20%) © Microsoft Corporation
  • 13. SURVEY: How does the bug report's activity affect the chances of it being successfully fixed? Severity upgraded Severity downgraded Few editors (<10) Many editors (>=10) No re-assignments (0) Few re-assignments (1-5) Many re-assignments (>30) At least 1 re-open -3 -2 -1 0 1 2 3 Decreases chances of fix Increases chances of fix © Microsoft Corporation
  • 14. SURVEY: How do the people involved in addressing the bug affect the chances of it being successfully fixed? Opener/assignee same person Same manager Same building Same country Different managers Different countries Opened by temp. employee Assigned to temp. employee -3 -2 -1 0 1 2 3 Decreases chances of fix Increases chances of fix © Microsoft Corporation
  • 15. Other qualitative factors Textual quality of bug report: “Just to re-emphasize: The quality of the bug description is very important. Not necessarily filling in the dozens of fields in the bug database with all sorts of crap (build numbers, dates, classifications, etc) - but just the plain-text description of the problem, the implication and maybe even the potential solution.” Perceived customer/business impact: “Customer impact can be a very big impact on a bug if evidence exists to show the cost of not fixing the bug for one or more customers.” Rank and seniority of bug opener: “A bug opened because something went wrong on a VPs [vice president’s] laptop has better chance [of being fixed] than a bug opened because the same thing happened to an intern.” Interpersonal skills of bug opener: “One other ‘soft’ factor is the speaking skill persuasiveness of the developer (or other representative) when arguing for the bug.” © Microsoft Corporation
  • 16. Quantitative data analysis ‱ Correlate likelihood of bug report getting fixed – Reputation ‱ Interest ‱ Reassignments ‱ Distance ‱ Windows Vista and Windows 7 bug reports – Bug lifetime: open, assign, edit, resolve, close ‱ Microsoft employee data – Manager, Building, Country © Microsoft Corporation
  • 17. #1: Reputation “A big influence [on bug fixes] is the reputation of the person opening the bug. If submitter has a history of submitting high quality bugs then new bugs from that person get better attention [...]” From anonymous survey respondent © Microsoft Corporation
  • 18. Quantifying reputation For each bug, calculate opener’s reputation by aggregating over all bugs in the past. Hooimeijer and Weimer: Modeling bug report quality. ASE 2007. © Microsoft Corporation
  • 19. Reputation vs. bug fixes © Microsoft Corporation
  • 20. Reputation vs. bug fixes © Microsoft Corporation
  • 21. #2: Interest Windows Vista Windows 7 © Microsoft Corporation
  • 22. #3: Reassignments Severity upgraded Severity downgraded Few editors (<10) Many editors (>=10) No re-assignments (0) Few re-assignments (1-5) Many re-assignments (>30) At least 1 re-open -3 -2 -1 0 1 2 3 © Microsoft Corporation
  • 23. #3: Reassignments Windows Vista Windows 7 © Microsoft Corporation
  • 24. The need for reassignments “Bugs many times are exposed in the UI [user interface], but are not caused by the team writing the UI code. These bugs can pass down several layers of components before landing on a lower level component owner.” From anonymous survey respondent © Microsoft Corporation
  • 25. #4: Geographical distance © Microsoft Corporation
  • 26. #5: Organizational distance © Microsoft Corporation
  • 27. Trust vs. distance “Whenever I open bugs assigned to people I know, they are investigated thoroughly as there is a trust in the report I write. Often when reporting a bug within areas where I don't know the owners, there is inherent distrust in the bug report.” From anonymous survey respondent © Microsoft Corporation
  • 28. Predictive model ‱ At bug opening time, predict probability of fix ‱ Logistic regression model with 7 factors – Bug source – Reputation of bug opener – Reputation of first assignee – Initial severity level – Opened by temporary employee? – Opener & initial assignee had same manager? – Opener & initial assignee in same building? ‱ Train on Windows Vista, predict Windows 7 fixes – 68% precision, 64% recall (0.50 cut-off) © Microsoft Corporation
  • 29. Recommendations ‱ Train and incentivize employees to write higher-quality bug reports ‱ Improve awareness of developers’ expertise to minimize reassignments ‱ Improve communication and trust amongst people in different teams and locations ‱ Encourage more objectivity in prioritizing and handling bugs © Microsoft Corporation
  • 30. Summary ‱ Characterization of which bug reports get fixed. – At least one reassignment increases but too many reassignments decrease the likelihood – The higher reputation a bug opener has, the more likely his/her bugs are to get fixed. – Bugs handled by multiple teams and across multiple locations are less likely to get fixed. ‱ Survey results provide insights into social factors that affect the bug triaging process. – Seniority, reputation, personal relations, and trust. © Microsoft Corporation