TESTING

R1: test for negative numbers
R2: test for non-integers
R3: test for invalid input, such as "3b4"
R4: test for input termination via EOF
Other corner cases to be tested were an empty file as an input, a file with one line only, or a file with empty lines in the middle.

CODE

T1: not following project requirenments
T2: not freeing memory of linked list at the end. Note that something like "free(head)" does not do the job, since it only frees one element and not the whole list.
T3: reading the input in character by character. There are C functions that allow you to be more efficient. For example, you could use "gets" to get a line, and then use "strtod" to convert that string to a double or report an error if the conversion is unsuccessful.
T4: code is not efficient. A common mistake was to get the mean by calling a "list_length" function, then calling the "sum" function, and then dividing to get the answer. This unnecessarily traverses the list twice instead of one. Furthermore, having such modularity actually decreases the readibility of your code in this assignment.
T5: no (or little) error checking is performed on the input. At the very least, the user should be notified when a non-valid character is encountered (like a letter).

PSP

C1: need to describe what interuptions were.
C2: defect numbering should be consecutive in the form 0,1,2,...
C5: if the interuption is a planned break, then you should start a new line in the time log.
C6: Not all defects injected in compile/testing have fix numbers in the Fix Defect space