the design of bug fixes
DESCRIPTION
The Design of Bug Fixes. Emerson Murphy-Hill North Carolina State University Thomas Zimmermann, Christian Bird, and Nachiappan Nagappan Microsoft Research , USA ICSE 2013. About the paper. Empirical study performed in Microsoft Investigated two research questions: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/1.jpg)
The Design of Bug Fixes Emerson Murphy-Hill
North Carolina State University
Thomas Zimmermann, Christian Bird, and Nachiappan Nagappan
Microsoft Research , USA
ICSE 2013
![Page 2: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/2.jpg)
About the paper Empirical study performed in Microsoft Investigated two research questions:
What are the different ways that bugs can be fixed? (Design space)
What factors influence which fix an engineer chooses? (Decisions / Navigating design space)
Contribution The first systematic characterization of the
design of bug fixes
![Page 3: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/3.jpg)
Overview
![Page 4: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/4.jpg)
Methodology 1. Opportunistic Interviews
Randomly went to 4 product groups Asked 8 engineers per group about his last fixed
bug for 10-15 min
![Page 5: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/5.jpg)
Methodology 2. Firehouse Interviews
Observe a just-completed fix in a bug tracker “Rush to the scene” 8 engineers from a different product group
![Page 6: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/6.jpg)
Methodology (cont.) 3. Triage Meetings
6 meetings Little data could be gathered: Lack of context
4. Survey Multiple-choice, estimated 15-20 minutes 324 out of 2000 responsed (16%)
![Page 7: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/7.jpg)
Results: Design Space
![Page 8: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/8.jpg)
Results: Design Space Data propagation
Layered infrastructure with four layers, top most being the UI
Top: expecting megabytes Bottom: only accept kilobytes
![Page 9: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/9.jpg)
Results: Design Space (cont.)
Error Surfacing A crash when a user is deleting file Engineer: catch exception and handle it Whether or not to notify the user
![Page 10: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/10.jpg)
Results: Design Space (cont.)
Behavioral Alternatives In a kind of mobile device When first load, back botton can not work
simultaneously with other features Choose a certain behavior
![Page 11: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/11.jpg)
Results: Design Space (cont.)
Functionality Removal Rather than fixing, just remove the whole
feature 75% of respondents said they had removed
features from their software to fix bugs in the past
![Page 12: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/12.jpg)
Results: Design Space (cont.)
Refactoring
![Page 13: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/13.jpg)
Results: Design Space (cont.)
Internal vs External A testing framework Changing the framework (internal) Changing other team’s code (external)
![Page 14: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/14.jpg)
Results: Design Space (cont.)
Accuracy A web browser is not printing well Accurate: print driver retrieve the fonts Less accurate: use a heuristic to produce a
better but not optimal printing
![Page 15: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/15.jpg)
Results: Design Space (cont.)
Hardcoding Receive database queries, with some queries
malformed Hardcoded, using a fixed set of queries
![Page 16: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/16.jpg)
Results: Navigating the Design Space
![Page 17: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/17.jpg)
Results: Navigating the Design Space (cont.)
Risk Management by Development Phase
![Page 18: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/18.jpg)
Results: Navigating the Design Space (cont.)
Risk Management by Development Phase
![Page 19: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/19.jpg)
Results: Navigating the Design Space (cont.)
Interface Breakage
![Page 20: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/20.jpg)
Results: Navigating the Design Space (cont.)
Consistency
![Page 21: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/21.jpg)
Results: Navigating the Design Space (cont.)
User Behavior
![Page 22: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/22.jpg)
Results: Navigating the Design Space (cont.)
User Behavior
![Page 23: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/23.jpg)
Results: Navigating the Design Space (cont.)
Cause Understanding 18% indicated that they have not had “time to
figure out why the bug occurred”
![Page 24: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/24.jpg)
Results: Navigating the Design Space (cont.)
Social Factors
![Page 25: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/25.jpg)
Implications Additional Factors in Bug Prediction and
Localization Limits of Bug Prediction and Localization Refactoring while Fixing Bugs Usage Analytics Fix Reconsideration
![Page 26: The Design of Bug Fixes](https://reader035.vdocuments.us/reader035/viewer/2022062310/56815f46550346895dce228e/html5/thumbnails/26.jpg)
Limitations Generalizability beyond the population Expectancy bias Memory bias Unable to collect contextual information Misunderstanding