Bug Fix
                                                                                         copyright © 2001 by Robert L. Blau

    "Fixed that bug yet?"
    "Yes, sir, Chief.  I think I have it this time."
    "Hmm.  That's what you said last time, Michael.  And the time before that."  The Chief eyed him narrowly.  "Have you tested it thoroughly?"
    "Yes, sir, Chief.  It's just that this is such a complex program.  And," Michael continued, choosing his words carefully, "so ... hard to follow.  Not bad.  Just ... complex.  As I said before."
    "I see that you haven't forgotten that I wrote the original program," said the Chief, hiding a smirk. "Relax.  You can speak your mind.  You won't hurt my feelings."
    "Well," said Michael, somewhat encouraged, "it's spaghetti code, if you'll pardon my presumption.  No structure.  But, of course, you wrote it such a long time ago.  No one was writing structured code back then."
    "To tell you the truth," said the Chief, "I did that deliberately.  I prefer a little lack of structure now and then.  But continue."
    Yeah, he says he isn't touchy about his code, thought Michael.  Hah!  "And then," he continued out loud, "everyone in the known universe has touched it since then.  It has patches on its patches.  With every emergency bug fix, something else popped loose.  Now, it's hard to tell the original code from the patches."
    "True enough," said the Chief.
    "And then," continued Michael, "we never expected the volume we've been getting."
    "True," said the Chief. "And it has always been a resource hog.  So, what was the root cause this time?"
    "Actually," said Michael with rising enthusiasm, "I think I've found a problem that has been plaguing this program for a long time.  Probably, uh, from the beginning."
    "And that problem is ... ?"
    "Poor error handling!" said Michael.  "Many of the worst error conditions aren't handled gracefully.  No wonder the darn thing keeps blowing up!"
    "What about its resource hogging?  Did you find a solution for that?"
    "I did tweak it a bit," said Michael.
    "Did you test it thoroughly?" asked the Chief again.  "This is important.  Another failure could bring down the entire system."
    "I know, Chief," said Michael.  "I've banged the heck out of it in test.  But you're never quite sure how it will behave in production."
    "Ok, then, let's run it," said the Chief, and they kicked it off.  "Ah, it's looking good!"
    "Uh-oh!" said Michael.  "Something doesn't look right in Afghanistan."
    "Dang!  There goes Kashmir again!" said the Chief ruefully.  "And now the Middle East is going up.  It always seems to screw up in the Compassion Subroutine."
    "I don't know," said Michael.  "Could be in the Good_sense module.  I think it's time to rewrite the program."
    "If there's time," sighed the Chief. "If there's time."