Social Impact Analysis
Ethics in Computing Links
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.
- 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?
- 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.
- Are the temporary fixes recommended by AECL adequate to remove the
- 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.