Website: https://sites.google.com/ashoka.edu.in/cs2422/
SH office hours: Thursdays 6-7pm, AC04-723 (or Zoom)
AS office hours: Wednesdays 5-6PM (AC04-WS708)
SD office hours: Monday 6-7PM (AC04-WS708)
Reading assignment due tomorrow before class
Do gather interesting/subtle examples
Do gather non-trivial bugs (on which you spend say, > 5 minutes)
Do gather bugs that you did not fix, but worked around or gave up on
Develop and refine your tagging system as you go along
Keep a pointer to the code/issue if possible
Don't gather software installation problems (Windows, Wordpress, packages...) Prefer code level bugs.
Don't gather RFEs
Don't gather simple fixes like color or message change
Don't dredge up reports from the ancient past (unless they are very interesting)
Early computer pioneer
Got a Ph.D. from Yale in Math in 1934
Got a job with the Navy and was sent to program Mark-1 computer at Harvard
"Bug" is probably a bad term. ("A bug has crept in", as if on its own)
"Defect" and "Fault" are often used for hardware (or low level system) error
"Flaw", "Error", "Issue", "Failure", "Smell",...
Some people use the word infection (I don't like it.)
We'll just generically refer to bugs...
That can't happen.
That doesn't happen on my machine.
That shouldn't happen.
Why does that happen?
Oh, I see.
How did that ever work?
Original source (?)
e.g. Bugzilla, github, trac, etc.
Slightly overlap with project management tools
Issue source could be internal tester or external user
Assigned to and evaluated by a developer
Captures long-term record of bugs... much better than email
Wontfix
Duplicate
Unreproducible
Reopened
Fixed, waiting for test
RFE (Request for Enhancement)
ECO (Engineering Change Order)
Provide enough information to reproduce
Be specific about the environment - OS, version, etc.
Simplify to the extent possible
Detail, to the extent possible (e.g. error messages, stack traces, what the user was doing, and other context)
Core dumps (memory state at program crash)
Search for the error message
Submitter and developer may not be known to each other
Very different conceptual models of the software
Maintain courtesy and trust
Don't fingerpoint, avoid typecasting people
Developer should always thank the person who found the bug
Developer should never close a bug