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.”