SWEN 326 (2020) - 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.

David Pearce 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! I hope that you enjoy this course and get as much out of it as possible. I 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 come by my office (CO231) for a chat.


18/6/2020: Re: Announcements

Hi all,

Just a few notes about the final test for SWEN326, which is taking place next Friday:

* As before, the test will open at 9am on Wednesday and run until 9am on Thursday morning.  During this time you will be able to submit as many times as you like (though you won't be able what score you got).

* The test consists of 30 multiple choice questions relating to lectures 13-24 and Assignment 3.  There are no short answer questions this time, as necessary for the test to be marked fully automatically.

* I will not be granting extensions without proper justification and supporting documentation.  This is because, granting an extension beyond the final week of term requires sign off from the Associate Dean of Students.  Therefore, we would have to approach him and make a case.

* I'm would anticipate that something in the range 1-2 hours would be more than sufficient to properly answer most or all of the questions.

If you anticipate any problems with sitting the test, you need to let me know ASAP.  I do appreciate that many people are feeling overwhelmed at this stage, but I also do have to abide by the University regulations.



23/4/2020: Course Update (Important)

Hi all,

Right, finally, my proposed changes to SWEN326 have been fully approved.  That means, I can now let you know the plan for the remainder of the course.  They key points are below and I strongly recommend you look through them.  If you have any questions, feel free to email me and/or chat in my office hours:



I have reduced the number of lectures from 27 to 22.  The revised lecture schedule is available here:  


You will notice I've compressed the schedule up.  There are two reasons for this: firstly, myself and my partner are expecting a baby in late June, and it could come any time from now on; secondly, I want to try and alleviate what I expect to be a reasonably stressful end of trimester.  I'm guessing lots of courses will have tests, and assignments due, etc.

In place of the exam, we now have three tests:

* Test 1 (Friday 1st May, 2hours, worth 10%).  This will focus on Lectures 1--8 and Assignment 1.  

* Test 2 (Friday 29th May, 2hours, worth 10%).  This will focus on Lectures 9--12, and Assignment 2.

* Test 3 (Wed 24th June, 4hours, worth 20%).  This will focus on Lectures 13--22, and Assignment 3.

The format of these tests will be a mixture of multiple choice and short essay style answers completed on blackboard.  The tests will be available to complete over a 24hour period and are expected to take the specified amount of time above (though in practice probably much less). Test 3 will be entirely multiple choice in order that it can be marked automatically in the event I am unavailable.

In general, I'm not planning to make the tests super hard or anything like that.  But I do wish, for example, to cover material from lectures not directly covered in the assignments.  You will find that the previous exams provide some guidance in preparing for the tests.  Specifically:

* "Risk, Hazards, Failure" Question from 2018/19 exams correspond with Test 1.

* Testing Question from 2018/19 exams correspond with Test 2.

* "Static Analysis" / "Design Validation" Questions from 2018/19 exams correspond with Test 3.

You should expect the tests to carry more parts than those exam questions do, however.

The number of assignments has been reduced from 4 to 3.  Specifically, we now have:

* Assignment 1 (worth 20%, Due 27th Apr).  

* Assignment 2 (worth 20%, Due 25th May), covering automated testing.

* Assignment 3 (worth 20%, Due 22nd June), covering static analysis.

Despite being worth the same amount, you should not expected Assignments 2 + 3 to require the same workload as Assignment 1.  Instead, you should expect them to each be about half the workload of Assignment 1.

15/4/2020: Course Notice (Test 1)

Hi all,

At this stage, approval is currently underway for my proposed changes to the structure of SWEN326 ahead of teaching to restart on April 28th.  I can't give out many details until this approval is granted, unfortunately.  You can see my current revised schedule here (though this remains subject to change):


However, there is one thing that I can say which is important:

* In the revised assessment structure, there will be a test during the first week back.  It will be running on Friday 1st May over a period of 24hours to give everyone in various time zones a chance to complete it.  The test itself is expected to take no more than 1-2 hours to complete.  The test will be focused on material covered prior to lockdown (i.e. Lectures 1-9, and Assignment 1).  The test will be conducted using blackboard, and will involve a mixture of multiple-choice and written answer style questions.

To prepare for the test, I would recommend looking at Question 1 from both the 2018 and 2019 exams.  You can access them here:





  • 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