Critical Software

Lecturer (Coordinator):
Andrés Silva
Tomás San Feliu


First semester




The subject provides an introduction to the main concepts and, specially, to the mindset needed for understanding and managing the hazardous behaviours related to complex software systems.


  1. Safeware concepts
    1. Normal Accidents theory
    2. Basic Concepts
    3. Reliability vs. Safety
    4. Hazard & Risk Analysis
    5. Common Techniques
  2. Design and Safeware
    1. Hazard elimination
    2. Hazard reduction
    3. Hazard control
    4. Examples
  3. Concepts from the IEC61508 Standard
    1. Introduction to IEC61508
    2. Concepts: SIL, functional safety, etc.
    3. Hazard log
    4. Limits of IEC61508
  4. Human and Organizational Factors
    1. Performance models
    2. Human error
    3. Organizational problems
    4. Solution proposals

Recommended reading

Assessment method

  • The grading criteria for this subject are closely linked to the working method. This method will be concept-oriented. For each topic and subtopic there will be a lecture/workshop in the classroom, and the teacher will choose a key concept. Later, the students, preferably in groups, will have one week for reading concept-related bibliography and elaborate a presentation and an expository writing (8 pages max.).
  • Each group of students will present a draft of their work in the classroom, which may be evaluated (anonymously) by the other students.The rhythm of work will be, approximately, as follows: every two weeks, each group of students will submit the expository writing of past week's concept. In parallel, the students will attend the lectures/workshops that will be done in the classroom, and possibly qualify them.

Lecture theatre


Tuition language


Subject-Specific Competences

Code, description and proficiency level for each subject learning outcome
Code Learning Outcome Associated competences Proficiency level
CEM1 Examination of the state of the art to identify research problems related to the design, construction, use and evaluation of complex software-intensive sociotechnical systems A
CEM3 Application of relevant research methods to open problems in the field of software engineering related to both the particular features of the software and software development management A

Learning Outcomes

Code, description and proficiency level for each subject learning outcome
Code Learning Outcome Associated competences Proficiency level
RA-IS-114 Understand Software limits and frontiers at the time of conceiving and developing systems with possible hazardous impacts on its environment CEM1, CEM3 A
RA-IS-115 Knowledge of the techniques to elicitate potential hazards related to the development and use of complex Software-based devices and applications CEM1, CEM3 A
RA-IS-116 Knowledge of the main techniques used to eliminate, reduce or control Software-related hazards, including techniques for damage reduction CEM1, CEM3 A

Learning Guide

Learning Guide: Critical Software