SENG 42632


Status : Core Pre-requisite : SENG 22582, SENG 31513 Co-requisite : None


On completion of this course, the student should be able to:

  • Describe software safety and reliability
  • Differentiate between hardware and software reliability
  • Appreciate producing highly safe and reliable software
  • Identify safety and reliability requirements of a software development application.

Software safety basics, software reliability basics, differences between hardware and software reliability, achieving and assessing software safety and reliability, role of standards, IEC software dependability standards, IEE SEMSPLC guidelines, ANSI/IEEE Std. 982.1-1989 and 982.2 – 1989, IEEE Std. 1228-1994 standard for software safety plan Reliability and availability, faults, errors and failures, error severity, failure recovery, robust design principles, error detection, analysing and modelling reliability and robustness, reliability requirements, reliability analysis, robustness and stability testing Software reliability prediction, assessment of existing software reliability models, main characteristics of software failure, main approaches of mitigating software failures, major challenges in software reliability prediction, system reliability structure, design for modular redundancy and fault tolerance, ensure non-interfering behaviour of connections, document based architectural reliability modelling, modelling component reliability, modelling interaction failure, reliability function evaluation, systems failure rate estimation.

Lectures, self-study assignments and group work.

End of course unit examination and continuous assessment.

  1. Herrmann, D S (1999). Software Safety and Reliability: Techniques, Approaches, and Standards of Key Industrial Sectors (Practitioners).IEEE Computer Society
  2. Bauer, E (2010). Design for reliability: Information and computer-based systems. John Wiley and Sons
  3. Semegn, A D (2011). Software architecture and design for reliability predictability. Cambridge Publishing.