Imperative by day and functional by night

Retreating Bug Syndrome

A disappearing bug is a retreating and unresolved bug.

Intermittent software bugs are a common cause of the most unusual program behaviours and unexpected system crashes. They are often very difficult to isolate and remove and can be a major source of frustration for developers. A developer falling victim to a bug may spend hours, or even days, debugging a program without any success or progress. Defeated and confused, the developer is eventually forced to seek additional assistance from another developer. Upon doing so, the developer proceeds to demonstrate the problem to the assisting developer. When the expected bug does emerge, the assisting developer immediately analyses it and provides feedback that will hopefully help resolve the problem.

But what if the expected bug does not emerge? What would the developers do then? To answer the question, let’s consider the familiar scenario where a team of developers are busy developing and testing an application and one of them suddenly encounters a bug that they cannot resolve. The troubled developer turns to a senior developer for assistance. The senior developer asks the troubled developer to reproduce the bug. The troubled developer attempts to reproduce the bug only to find that it no longer exists and that the program now functions correctly as originally expected. The troubled developer is dumbfounded and concludes that the bug has retreated and gone into hiding from the now present senior developer. The bug has disappeared and both developers are left amused and baffled. In this baffled state, they suffer the symptoms of retreating bug syndrome. The senior developer feels superior and the troubled developer inferior. The bug escapes unresolved.


Written by warpedjavaguy

April 30, 2007 at 11:45 pm

Posted in java, programming

%d bloggers like this: