Thursday, September 27, 2007

The who? Oh the Therac-25.

I had never heard of the Therac-25 until this week. What an intriguing story to read and to learn from! It's common knowledge that software has bugs, but what is interesting in this case is the exclusion of software as the culprit in initial investigations. Hardware malfunction was the assumption from the beginning. Only in later examinations was it found that there were serious software defects.

Critical safety software today still may have some bugs in it, although hopefully not of this magnitude. I imagine companies are better about extensively reviewing the software, just as they do the hardware. Still, the responsibility ultimately lies with the programmer to do everything possible to build safety into the software design and the software itself.

That can be tricky for newer programmers who often sacrifice safety for time. Perhaps it stems from the university mindset that when the program compiles and runs, it is complete. If better software design principles were incorporated in university courses, maybe the caliber of software produced in industry would increase.

Now to convince students that every "hello world" program could result in damage to property or loss of life...

1 comment:

MackAck said...

Oh, remember how we were musing about exactly what type of injury a person gets from an overdose of radiation? Well, according to Wikipedia: "The high-powered electron beam directly struck the patients causing the feeling of an intense electric shock and the occurrence of thermal and radiation burns. In some cases, the injured patients died later from radiation poisoning." Ouch...not my way to go of choice.