Computing Cases Header, Picture of a Keyboard with the text "ComputingCases.org" printed over it

Case Materials

Case Navigation

Therac-25 Case

Teaching Intro

Socio-Technical Analysis

Ethical Analysis

Exercises

Supporting Documents

 



General

Teaching Tools

Teaching with Cases

Social Impact Analysis

Computer Ethics Curriculum

Curricula Index

Case Materials

Therac-25

Machado

Hughes Aircraft

Ethics in Computing Links

Contact Us

Exercises for Therac-25

Tracing the Coding Errors to the Hazards

The Leveson excerpts section of the resources reprints explanations from Nancy Leveson about each of the two identified coding errors in the system that resulted in overdoses to patients. Have students trace each coding error from the problematic variable or operation (e.g. a comparison) to how this resulted in an overdose.

  1. What items or sections in the code you have reviewed should be labeled safety-critical? Why? How is it different from other sections of code?
  2. What information is available in the design that the code is safety-critical? Assume you are inspecting the code before it is shipped and do not use information gleaned from accident reports.
  3. Are the temporary fixes recommended by AECL adequate to remove the hazard?
  4. What design changes would you recommend to the software, to the machine, or to the socio-technical system that might reduce the hazard?

This exercise might be done as an in-class exercise or as individual homework and then discussed in the class.