Discussion questions for the Therac-25 case study:

  1. What is a safety-critical system? Does the Therac-25 satisfy the definition of such a system?
  2. For each accident, summarize the events and the resulting response by the hospital (i.e., physicians), manufacturer, government (i.e., FDA), and users.
  3. What is a race condition? Describe the specific race condition that led to accidents. What quality assurance technique(s) would you use to identify race conditions? What technique(s) would you use to minimize the risk of failures? Why?
  4. What is an integer overflow? Describe the specific integer overflow that led to accidents. What quality assurance technique(s) would you use to identify race conditions? What technique(s) would you use to minimize the risk of failures? Why?
  5. What is the difference between reliability and safety? What role did confusing these two attributes of dependability have when investigating the accidents?
  6. What role did the user interface play in the accidents? Describe what change(s) you believe would be necessary to have prevented the accidents.
  7. What role did software reuse have in the accidents? Given that software reuse is at the core of other failures (e.g., Ariane 5 Flight 501), should reusing software be permitted for systems with stringent dependability requirements? Justify how your decision will improve the system’s dependability.
  8. Which “lesson learned” do you believe is most important? How have you observed this causal factor when developing software yourself? What change(s) will you make to your software development practices to address this issue?
  9. For each stakeholder (i.e., Atomic Energy of Canada Limited (AECL), the programmer(s), hospital technicians, and doctors), identify their moral responsibility, what they did, what they didn’t do, and what they could have done differently regarding the Therac-25 accidents. (Munmun De Choudhury, CS 4001 Computing, Society, & Professionalism, Spring 2018)
  10. What liability would you assign to the programmer(s) who wrote the Therac-25 software; Atomic Energy of Canada Limited (AECL), the Therac-25’s manufacturer; and the hospital who purchased and used the Therac-25? Justify your decision using specific details from the case study.
  11. Society often expects that every possible effort must be made to prevent accidents such as those that occurred with the Therac-25, but preventing such accidents increases the cost and time-to-market of technologies. If a technology (e.g., consider self-driving automobiles) could improve the lives of millions but may malfunction and harm hundreds of people, should such a technology be adopted? Justify your decision using specific examples.