How many times have you called up your credit card company or a utility or ISP or phone service and there’s some problem with your account and the person on the other end of the phone says, “I’m sorry. The computer won’t let me” or “I can’t do this ’cause the computer won’t let me” or “It’s not showing on the computer.” “It’s all the computer’s fault.” Whatever the problem is, something has gone wrong and the person has no capability of correcting it and the computer has no capability of correcting it. This is the stuff of science fiction fear-mongering: you get to the point where nobody knows how to fix it. Your civilization is some thousand years in the future and you’re all slave to some computer that can’t fix itself until Kirk and Spock come along and make it blow itself up.
Ed: Right, kinda like the Nomad machine in that episode of Star Trek the Original Series: The Changeling.
Andy: It’s a legitimate gripe: When something out of the ordinary happens, software in general is not designed to deal well with that. It’s designed to deal with the average case and the normal situation, and as soon as something happens outside the norm, our software is not sophisticated enough to learn from that, to realize that there are other venues, other possibilities.
Ed: Okay. Now to me that is essentially a complexity problem. As an analogy, consider the goal of software quality. One proven solution to achieving that goal is to use a fine-grain level of unit testing. So you keep doing this unit testing and you break it down small enough that you can achieve quality by having enough unit testing throughout the breadth of the system.
Now is there some analogous thing here to address the notion of exceptional cases and the permutations and combinations of these exceptional cases that lead to the computer operator being unable to take any effective action?
Andy: I don’t think so because I think the combinatory explosion of everything that’s possible would just simply be overwhelming even for the fastest quantum-based computer. I think that’s kinda the wrong way to go.