Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
10/19/11 14:44
Read: times


 
#184272 - Double Dec
Responding to: ???'s previous message
Jan,

I feel the pain involved with looking for such a simple bug taking a long time to discover. I've been in those shoes myself a number of times. I don't want to sprinkle salt onto the wound but certainly a point like this is a good time to reflect on what happened.

The resulting inserted code with the now double "dec a" in front of it can be seen to mean that the new function would not be launched with the correct selection code. This does lead to a question of testing. Was the new added feature tested at the time of implementation? If it had been I think the problem would have been found at that time unless the various "DO SOMETHING" sequences did paltry little things that were not easily noticeable by a cursory test.

Also there are many situations where regression testing is not part of a test and code validation process. If that type of testing had been used here one would have probably noted the failure of the subsequent cases in the code sequence...unless of course those test cases results were not covered by the test verification signatures.

Maybe there is a case made here for the value of feature regression testing. This is a clear situation where adding a new feature broke an existing feature.

This may also be a case for certain styles of coding. If a table lookup had been used the code flow would not have broken upon the insertion of a new row in the table. You also mention that several places in the code had to be changed to be able to slip in the new case. This may have been a call for a design that used a table with multiple elements per row to cover each of the function dependencies. Sliding in the new row happens in one place then.

Michael Karas

List of 10 messages in thread
TopicAuthorDate
the programmer blindness            01/01/70 00:00      
   split hairs            01/01/70 00:00      
   Double Dec            01/01/70 00:00      
      unreachable code            01/01/70 00:00      
         Analysis tools            01/01/70 00:00      
   re: blindness            01/01/70 00:00      
   re:blindness            01/01/70 00:00      
      Thanks all for the comments.            01/01/70 00:00      
         but remember            01/01/70 00:00      
   What is this, really?            01/01/70 00:00      

Back to Subject List