Channels ▼  Walter Bright  Dr. Dobb's Bloggers  Safe Systems
from Unreliable Parts  October 29, 2009  A recent article in
Wired [1] piqued my interest because it touched on an
interesting subject. In it, a medical "gamma knife" used to
treat cancer patients had suffered from a software glitch. The
emergency shutoff switch had no effect, causing the staff to
have to run in and extract the patient before he was killed.
How does one create a safe machine? The first thought one has is
to make the machine perfect so it cannot fail. Evidently, the
designers of that gamma knife followed this principle, hoping
their software is perfect and following up on imperfections with
bug fixes.  The problem with that approach, of course, is it is
impossible to create a component that cannot fail. As
programmers, we all know it is impossible to create bug-free
software. Even if no expense was spared, perfection can only be
asymptotically approached, at exponentially increasing costs.
Even if the software was perfect, there cou