![Page 1: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/1.jpg)
Noah Sussman and Michelle D’Nettoetsy
or, Where Do Bugs Come From?
Software Entomology
![Page 2: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/2.jpg)
There will always be bugs in production
![Page 3: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/3.jpg)
Most Bugs Are Non-Obvious
![Page 4: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/4.jpg)
Debugging is hard
![Page 5: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/5.jpg)
I can remember the exact instant when I realized that a large part of my life... was going to be spent in finding mistakes in my own programs
~Maurice Wilkes, 1949
![Page 6: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/6.jpg)
Admiral Grace Hopper liked to tell a story in which a technician solved a glitch in the Harvard Mark II mainframe by pulling an actual insect out from between the contacts of one of its relays
~ The Jargon File
![Page 7: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/7.jpg)
![Page 8: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/8.jpg)
Complete testing is impossible.
![Page 9: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/9.jpg)
Even the simplest Web site has more edge cases than you could test, even if you ran one test per second until the heat death of the universe.
![Page 10: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/10.jpg)
assure that the probability of failure due to hibernating bugsis sufficiently low to be acceptable
~ Boris Beizer, 1983
![Page 11: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/11.jpg)
What constitutes a “sufficiently low” number of problems?
![Page 12: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/12.jpg)
Declaring a program “bug free,” is an entirely
subjective excercise
![Page 13: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/13.jpg)
Engineers suck at finding bugs in their own code
![Page 14: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/14.jpg)
too close to the software
Engineers + designers are
![Page 15: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/15.jpg)
Computer programs cannot detect bugs in other computer programs
![Page 16: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/16.jpg)
Debugging is twice as hard as writing the code in the first place.
~ Brian Kernighan
![Page 17: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/17.jpg)
![Page 18: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/18.jpg)
not the same as reporting a bug
Getting frustrated by software is
![Page 19: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/19.jpg)
Non-source-aware users tend to report only surface symptoms; they take their environment for granted...
~ ESR, “How Many Eyeballs Tame Complexity”, 1997
![Page 20: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/20.jpg)
Users never read manualsUsers would save time in the long term by learning more about the system. But that's not how people behave in the real world
~Jakob Nielsen
![Page 21: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/21.jpg)
On two occasions I have been asked... if you put into the machine wrong figures, will the right answers come out?
~Charles Babbage, 1864
![Page 22: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/22.jpg)
![Page 23: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/23.jpg)
When you report a bug
you have done a hard thing
![Page 24: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/24.jpg)
A bug report is a story about a problem and a good story has a beginning, middle and end
![Page 25: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/25.jpg)
Description of problemSteps to reproduceExpected resolution
![Page 26: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/26.jpg)
Provide context, and lots of it
![Page 27: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/27.jpg)
Be Quantitative
Engineers respond well to hard evidence
![Page 28: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/28.jpg)
Graph or it didn’t happenAt Etsy we monitor over 100,000 real-time metrics
![Page 29: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/29.jpg)
A good editor ismeticulously attentive to detail,a stickler for technical correctness,aware of the work as a whole andsensitive to the expectations of the audience
![Page 30: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/30.jpg)
Keep a journalTake screenshots (use Skitch)Log IRC, Skype and other chatsMake multiple redundant backups (use DropBox)Save everything— you won’t know you need it until you need it
You are doing science
![Page 31: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/31.jpg)
How many times has this happened?How many users were affected?How much time has been lost?What was the overall cost?
![Page 32: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/32.jpg)
Users
![Page 33: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/33.jpg)
The Support Team spend the most time engaging and empathizing with users
![Page 34: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/34.jpg)
You are a participant observer
![Page 35: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/35.jpg)
When you talk to your users, andyou write down what you learn,and you share what you wrote with others, you’re doing science
![Page 36: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/36.jpg)
digital computer: less than 70 years old,personal computer: less than 40,the Web: less than 20,mobile Web: less than 15
![Page 37: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/37.jpg)
The Web is going to keep on growing and changing
![Page 38: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/38.jpg)
80% of us aren’t even on the Web yet
![Page 39: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/39.jpg)
And you are teaching them how to do it
Most users of a Web site are doing something that is entirely new to them
![Page 40: Software Entomology or Where Do Bugs Come From?](https://reader030.vdocuments.us/reader030/viewer/2022020217/54664dacaf7959557c8b49ba/html5/thumbnails/40.jpg)