Monday, November 05, 2007

N-version programming, and recalled algorithms

Software engineering notes always has a Risks to the Public distillation of the Risks Digest email list. One of the threads caught my eye (bad pun, you'll see). Since you need access to the ACM digital library to read SEN I've looked up the links to the Risks archives for the thread and put them below, in roughly the same order as they appeared in the September issue. Each post is a few paragraphs long, so if you are interested in software that might injury or kill someone, these are worth reading.

First, the FDA "recalled" two algorithms for two algorithms used by a LASIK eye surgery system.

This prompted a discussion of safety-critical software, and N-version programming. Some of the information presented about the space shuttle was wrong, but follow-up postings corrected the misinformation.

The LASIK issue prompted a suggestion about using more than one software"development team: "Improving reliability of health critical software, and some misinformation about the space shuttle software ("Improving reliability of critical software").

A wikipedia article is argued over, and then the shuttle software process discussed in two posts: "Space Shuttle uses 2-version programming" with further clarification "Re: Space Shuttle uses 2-version programming".

And finally, a some thought-provoking posts about events that almost never occur: "N-version programming & low-probability events" and "N-version programming -- the errors are in ourselves".

If you are interested in such things, don't forget a recent posting of mine.