Read Medical Devices: The Therac-25 by Leveson (which is an updated version of An Investigation of the Therac-25 Accidents by Leveson and Turner). Although there are many cases in which software design and failure has led to the loss of life, the case of the Therac-25 is among the best known and most widely cited because of the depth of analysis that was performed by professor Nancy Leveson and her graduate student Clark Turner.

The Leveson paper is quite long, and not all parts are equally important:

  • Skim Sections 1 and 2. You should understand the basics of the Therac-25's design and how it was used. (You may also find this figure a helpful accompaniment to Figure 1 on page 4.)
  • Skim Sections 3.1-3.3, which detail a few of the Therac-25 incidents.
  • Read Sections 3.4 and 3.5. These detail a particular incident, the software bug that led to it, and the response to the bug. Pay close attention to 3.5.3, which describes the bug.
  • Skip Section 3.6. (It describes an additional incident and a different bug—feel free to read if you are interested, though)
  • Read Section 4 closely.

As you read, think about the following:

  • What fault(s) contributed to the Therac-25's failure?
  • Are there quality-control procedures might have made a difference?

Before you come to this recitation, write up (on paper) a brief answer to the following (really—we don't need more than a sentence or so for each question):

  • What was the Therac-25?
  • How did it fail?
  • Why did it fail?

(There are multiple possible answers to each of these questions.)

Reading Tips

This assignment is a good opportunity for you to begin practicing how to get the interesting stuff out of a paper without getting bogged down in minor detail:

  • Start with a quick pass, just reading the section headings and the figure captions, to get an idea of the layout of the paper and what kinds of things the authors seem to be trying to communicate.
  • Next, skim it quickly, looking primarily at the first and last paragraph of each section.

As you read the paper, try to distinguish solid technical facts from higher-level statements that the authors are trying to make about process, procedures and policy. You might find it useful to note the places where you agree or disagree with the authors' analysis.

Finally, don't be dismayed by unfamiliar technical jargon; make a guess about what it means and move on. The authors may explain it two paragraphs later, or two pages later, or perhaps never get around to it. There is a good chance that you will discover that it didn't actually matter. But if it does, you have something to ask about in recitation.