CSE 504: Software Safety, Autumn 1998

Instructor: Nancy Leveson.


webmaster

Description

Software is increasingly used in systems where reliability and safety assume immense importance, such as aerospace, medical, energy, and transportation systems. Our ability to provide reliable and safe software is being stretched to the limits of current knowledge. New job categories are being created (such as software safety engineer), new standards are being written, and software developers are being challenged to adopt procedures that will allow more confidence in the software.

This class will cover what is known about building software in these environments. The topics will include:

  • The Nature of Risk and the Root Causes of Accidents (Reading: Chapters 1-5, Therac-25 Accident in Appendix A)
  • System Safety Engineering and Accident Models (Reading: Chaps. 7-10, Ariane 5 report)
  • Hazard Analysis (Reading: Chap. 13, 14)
  • Software Requirements (Reading: Chap. 15, Intent Specification paper)
  • Design for Safety (Reading: Chap. 16)
  • Fault Tolerance, Exception Handling, and Programming Languages (Papers to be distributed)
  • Design of Human-Computer Interaction (Reading: Chaps. 6. 17)
  • Software Measurement and Risk Assessment
  • Verification of Safety (Reading: Chap. 18)
  • Management and Process Issues (Reading: Chaps. 11, 12)

    Concepts will be illustrated using real accidents. Emphasis will be on procedures and techniques that are practical enough to be used on industrial projects today.

    The class will involve some reading, some lectures, and hopefully lots of discussion. There will be several short assignments to apply the ideas being taught, including the modeling and analysis of some safety-critical software.

    Text: Nancy Leveson, Safeware: System Safety and Computers, Addison-Wesley, 1995 plus some additional papers.