Anatomy of a software bug

Anatomy of a software bug

Anyone who doubts that modern software is unsustainably complex should have a look at this detailed account by Microsoft developer Rick Schaut about how he tracked down a well-known bug in Word. He’s also good on the notion of complexity:

“In this context, ‘complexity’ doesn’t refer to the code itself. Rather, we’re talking about the shear [sic] volume of things the user can do. In Word, for example, we have:

* More than 850 command functions (e.g. Bold and Italic are the same command function)

* More than 1600 distinct commands (e.g. Bold and Italic are distinct commands)

* At any given time roughly 50% of these commands are enabled (conservative estimate)

With just 3 steps, the possible combinations of code execution paths exceeds 500 million.”