SlideShare a Scribd company logo
Submit Search
Upload
Characterizing and predicting which bugs get fixed
Report
Thomas Zimmermann
Researcher at Microsoft Research
Follow
•
4 likes
•
809 views
1
of
30
Characterizing and predicting which bugs get fixed
•
4 likes
•
809 views
Report
Technology
Business
Presented at ICSE 2010.
Read more
Thomas Zimmermann
Researcher at Microsoft Research
Follow
Recommended
Not my bug! Reasons for software bug report reassignments
Thomas Zimmermann
1.3K views
•
32 slides
Characterizing and Predicting Which Bugs Get Reopened
Thomas Zimmermann
2K views
•
32 slides
Design for Testability: A Tutorial for Devs and Testers
TechWell
1.6K views
•
14 slides
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
TEST Huddle
916 views
•
15 slides
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
Crystal Thomas
187 views
•
13 slides
Software Architecture Erosion: Impacts, Causes, and Management
CSCJournals
91 views
•
12 slides
More Related Content
Viewers also liked
Aspect Mining for Large Systems
Thomas Zimmermann
453 views
•
50 slides
Mining Version Histories to Guide Software Changes
Thomas Zimmermann
922 views
•
20 slides
DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
Thomas Zimmermann
861 views
•
28 slides
Quality of Bug Reports in Open Source
Thomas Zimmermann
1.6K views
•
46 slides
A Bug Report Analysis and Search Tool (presentation for M.Sc. degree)
yguarata
954 views
•
69 slides
Security trend analysis with CVE topic models
Thomas Zimmermann
1.5K views
•
34 slides
Viewers also liked
(10)
Aspect Mining for Large Systems
Thomas Zimmermann
•
453 views
Mining Version Histories to Guide Software Changes
Thomas Zimmermann
•
922 views
DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
Thomas Zimmermann
•
861 views
Quality of Bug Reports in Open Source
Thomas Zimmermann
•
1.6K views
A Bug Report Analysis and Search Tool (presentation for M.Sc. degree)
yguarata
•
954 views
Security trend analysis with CVE topic models
Thomas Zimmermann
•
1.5K views
Automatic Identification of Bug-Introducing Changes
Thomas Zimmermann
•
2.2K views
Predicting Defects using Network Analysis on Dependency Graphs
Thomas Zimmermann
•
2.2K views
Software Analytics = Sharing Information
Thomas Zimmermann
•
3.3K views
Philips lighting ppt
Sanju Choudhary
•
26K views
Similar to Characterizing and predicting which bugs get fixed
Analytics for smarter software development
Thomas Zimmermann
2.6K views
•
68 slides
Cross-project defect prediction
Thomas Zimmermann
1.9K views
•
36 slides
Bug best practice
gaoliang641
775 views
•
57 slides
What if you could eliminate the hidden costs of development?
Rogue Wave Software
474 views
•
31 slides
11th Website Security Statistics -- Presentation Slides (Q1 2011)
Jeremiah Grossman
3.2K views
•
22 slides
STM-UNIT-1.pptx
nischal55
16 views
•
124 slides
Similar to Characterizing and predicting which bugs get fixed
(20)
Analytics for smarter software development
Thomas Zimmermann
•
2.6K views
Cross-project defect prediction
Thomas Zimmermann
•
1.9K views
Bug best practice
gaoliang641
•
775 views
What if you could eliminate the hidden costs of development?
Rogue Wave Software
•
474 views
11th Website Security Statistics -- Presentation Slides (Q1 2011)
Jeremiah Grossman
•
3.2K views
STM-UNIT-1.pptx
nischal55
•
16 views
5-Ways-to-Revolutionize-Your-Software-Testing
Mary Clemons
•
158 views
Cyber security - It starts with the embedded system
Rogue Wave Software
•
364 views
TDC PoA submission
Marcelo Yuri Benesciutti
•
65 views
Steve mcconnell
Shiraz316
•
574 views
Workshop on software product development the backdrop
Joy Prabhakaran
•
605 views
The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
WhiteSource
•
66 views
Defect Prevention & Predictive Analytics - XBOSoft Webinar
XBOSoft
•
1.3K views
SW Engineering Management
Robert Sayegh
•
601 views
Performance Testing And Beyond
Peter Brown
•
385 views
Classic Testing Mistakes 0226
MBA_Community
•
726 views
1. introducción a la Ingeniería de Software (UTM 2071)
Mario A Moreno Rocha
•
1.5K views
unit 1 ppt.pptx
SadikshyaTimilsina1
•
558 views
Increasing DevSecOps Maturity Level in 2021
Alexandre Rebert
•
63 views
How to achieve security, reliability, and productivity in less time
Rogue Wave Software
•
321 views
More from Thomas Zimmermann
MSR 2013 Preview
Thomas Zimmermann
21.8K views
•
14 slides
Predicting Method Crashes with Bytecode Operations
Thomas Zimmermann
2.3K views
•
26 slides
Klingon Countdown Timer
Thomas Zimmermann
1.3K views
•
28 slides
Data driven games user research
Thomas Zimmermann
1.5K views
•
10 slides
Empirical Software Engineering at Microsoft Research
Thomas Zimmermann
4.6K views
•
82 slides
Analytics for software development
Thomas Zimmermann
4.6K views
•
24 slides
More from Thomas Zimmermann
(20)
MSR 2013 Preview
Thomas Zimmermann
•
21.8K views
Predicting Method Crashes with Bytecode Operations
Thomas Zimmermann
•
2.3K views
Klingon Countdown Timer
Thomas Zimmermann
•
1.3K views
Data driven games user research
Thomas Zimmermann
•
1.5K views
Empirical Software Engineering at Microsoft Research
Thomas Zimmermann
•
4.6K views
Analytics for software development
Thomas Zimmermann
•
4.6K views
Changes and Bugs: Mining and Predicting Development Activities
Thomas Zimmermann
•
4.6K views
Changes and Bugs: Mining and Predicting Development Activities
Thomas Zimmermann
•
1.4K views
Meet Tom and his Fish
Thomas Zimmermann
•
1.5K views
Predicting Subsystem Defects using Dependency Graph Complexities
Thomas Zimmermann
•
1.4K views
Got Myth? Myths in Software Engineering
Thomas Zimmermann
•
5.9K views
Mining Workspace Updates in CVS
Thomas Zimmermann
•
632 views
Mining Software Archives to Support Software Development
Thomas Zimmermann
•
854 views
Unit testing with JUnit
Thomas Zimmermann
•
16.1K views
esolang: Esoterische Programmiersprachen
Thomas Zimmermann
•
1.5K views
TA-RE: An Exchange Language for Mining Software Repositories
Thomas Zimmermann
•
477 views
Fine-grained Processing of CVS Archives with APFEL
Thomas Zimmermann
•
435 views
How History Justifies System Architecture (or Not)
Thomas Zimmermann
•
570 views
HATARI: Raising Risk Awareness
Thomas Zimmermann
•
584 views
Mining Version Archives for Co-changed Lines
Thomas Zimmermann
•
344 views
Recently uploaded
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
Splunk
143 views
•
10 slides
Photowave Presentation Slides - 11.8.23.pptx
CXL Forum
110 views
•
16 slides
Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa...
The Digital Insurer
17 views
•
18 slides
Micron CXL product and architecture update
CXL Forum
21 views
•
7 slides
Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure
CXL Forum
114 views
•
16 slides
WEEK 1_ IT Network Engineering Class.pptx
dclmict1
80 views
•
12 slides
Recently uploaded
(20)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
Splunk
•
143 views
Photowave Presentation Slides - 11.8.23.pptx
CXL Forum
•
110 views
Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa...
The Digital Insurer
•
17 views
Micron CXL product and architecture update
CXL Forum
•
21 views
Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure
CXL Forum
•
114 views
WEEK 1_ IT Network Engineering Class.pptx
dclmict1
•
80 views
AI: mind, matter, meaning, metaphors, being, becoming, life values
Twain Liu 刘秋艳
•
26 views
AMD: 4th Generation EPYC CXL Demo
CXL Forum
•
113 views
CXL at OCP
CXL Forum
•
158 views
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
Prity Khastgir IPR Strategic India Patent Attorney Amplify Innovation
•
22 views
Liqid: Composable CXL Preview
CXL Forum
•
114 views
"Fast Start to Building on AWS", Igor Ivaniuk
Fwdays
•
25 views
JCon Live 2023 - Lice coding some integration problems
Bernd Ruecker
•
55 views
TE Connectivity: Card Edge Interconnects
CXL Forum
•
87 views
ChatGPT and AI for Web Developers
Maximiliano Firtman
•
143 views
.conf Go 2023 - Raiffeisen Bank International
Splunk
•
139 views
Data-centric AI and the convergence of data and model engineering:opportunit...
Paolo Missier
•
17 views
MemVerge: Memory Viewer Software
CXL Forum
•
106 views
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin
•
44 views
[2023] Putting the R! in R&D.pdf
Eleanor McHugh
•
31 views
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
2.
A confession…
3.
Opinions expressed on
this slide are the personal opinions of the presenter, not of Microsoft. ;-)
6.
Incomplete bugs Duplicate bugs
7.
Too many bugs
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