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.


29/4/2020: Lectures and Friday's Test

Hey all,

Right, first up you should see that I now uploaded two videos to panopto for today's lecture on Embedded systems.  Tomorrow, I will attempt to stream the lecture live from the SWEN326 zoom room.  Please be patient with the format as I try to get used to giving lectures like this!

For the test on Friday, here are a few notes:

* The test will begin at 9am on Friday 1st May NZT and will be available to complete until 9am Saturday 2nd May NZT.

* The test will be available on the SWEN326 blackboard page.  You can access this by going to the SWEN326 homepage a clicking on Blackboard on the left menubar.

* The test does not need to be completed in one sitting.  You can save your answers and come back later.

* I'm expecting the test to take at most 1-2 hours to complete, and potentially less in some cases.

* The test consists of 14 multiple choice questions and 6 short answer questions.

* For the short answer questions, I am expecting answers to be a paragraph or so long (e.g. at most 100 words).

* The test covers material from lectures 1--8, and also Assignment 1.

Right, that's all at this stage.  Feel free to email if you have questions.



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