Part-Time Programs in Engineering and Applied Science, Johns Hopkins University

Software Safety
605.705


Course Description

This course describes how to develop and use software that is free of imperfections that could cause unsafe conditions in safety-critical systems. Systems engineering and software engineering techniques are described for developing “safeware,” and case studies are presented regarding catastrophic situations that resulted from software and system faults which could have been avoided. Specific techniques of risk analysis, hazard analysis, fault tolerance, and safety trade-offs within the software engineering paradigm are discussed. 

Syllabus

  1. Introduction to Software Safety
  2. Software Engineering for Safety
  3. System Safety
  4. The System and Software Safety Process
  5. Introduction to Hazard Analysis
  6. Models of Hazard Analysis
  7. Midterm
  8. Software Safety Requirements Analysis
  9. Software Safety Design
  10. Software Safety in Human-Machine Interface
  11. Software Safety Testing
  12. Safe Ada Programs
  13. Fault Tolerance
  14. Final

Instructor
Louis Gieszl
is a mathematician at the Johns Hopkins Applied Physics Lab (almost 30 years), where his work ranges from simulation development to group systems use and development. He has a B.S. from the University of Houston, and an M.S. from Rice, University of Maryland, and Hopkins.
E-mail the instructor.

Computer Lab Requirements
No specific computer requirements are necessary for this course.

Textbook
Safeware: System Safety and Computers by Nancy Leveson


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

Fall  1997