SWEN 326 (2023) - Home Page


Welcome to SWEN 326! This course looks at the issue of designing and developing software for safety-critical systems. That is, software whose failure would result in a significant risk of injury or threat to life. Testing is one mechanism you may already be familiar with for trying to ensure software works correctly. In SWEN 326, we'll examine be looking at aspects of the problem including: safety standards (e.g. DO-178C, IEC61508), advanced software testing, static analysis, model checking and software verification. All of these techniques are used routinely in industry to eliminate software bugs and ensure software runs correctly. For example, DO-178C standard for avionics software mandates the use of MC/DC testing. Likewise, Intel use model checking to ensure the correctness of new chip designs and software verification tools were used in the development of critical software for the Airbus A380.

During the course, you will be exposed to a range of different tools each of which illustrates a different approach to ensuring software correctness. Assignments will give you a chance to use these tools for solving realistic problems and, hopefully, finding some bugs! We hope that you enjoy this course and get as much out of it as possible. We also encourage you to read the Course Outline where you can find information on what's really involved. Finally, if you have any questions or difficulties during the course, please free to call by the Course Coordinator's office (AM228) for a chat.



  • Course Outline - The official course requirements document. You are strongly encouraged to read this

  • People - Who's who? Teachers, tutors and class reps!

  • TimeTable - When, What, Where? Lectures and Helpdesks!

  • Forum - A place to ask questions and interact with other students