This is a non-programming task. Pick 3 bugs. At least one should be a Lisp bug,
and ideally at least one should be in another language.
Pick real bugs you've encountered.
Alternatively, look over postings to
comp.lang.java.help and so on. These are all available at
Don't make up some bugs, or retrieve a dim memory of a bug.
Do not use the "list not updated" class of bugs discussed here and in class.
For each bug, write an informal description with the following structure (plus any other items you think relevant):
Email the above in PLAIN TEXT format (no attachments, no HTML or Rich Text) to firstname.lastname@example.org
Title: List not updated Language: Common Lisp Symptoms: I remove an item with REMOVE but it's still there afterwards Example: (setq l '(a b c)) (remove 'b l) (print l) Repair 1: Precondition: if the result is used in just one place Repair: put the REMOVE call in that place Result: (setq l '(a b c)) (print (remove 'b l)) Repair 2: ...
There's 4 possible grades for this assignment: nothing, substandard, OK, excellent. I'm expecting most to be OK. Substandard means you didn't do what was asked for or didn't think very hard. Excellent means if someone asked me about you, I'd say "they did a really nice analysis of programming bugs."
A bug is not a simple mistake with an easy fix, e.g., the symptom is the error message "NIL is not a number" and the cause is that you forgot to initialize a variable to 0. No one posts a bug like that because they don't need to. They can figure it out themselves.
Remember the Boggle® Factor: in the Boggle hidden word game, a word doesn't count if someone else finds it. Similarly, in this exercise, your assignment is weaker if it duplicates other work.