System & SW Safety
Since 2024 officially, and since about 2021 practically, I've been working in Software and System Safety (SYSSAFE). It started as an attempt to improve our SW test coverage and SW bugs root cause analysis when I was a SW tester in Broadcom. My big initial success was deploying Fault Tree Analysis (over 4 meters wide in 10pt font size) to "cure" a notorical pain-point feature.
System safety, as the parent category, comprises of:
- Functional safety: dealing with safety in the presence of faults. I.e. make sure that when something fails, it doesn't lead to harm. This is my primary day job.
- Operational safety: making sure that the system doesn't lead to harm during its intended operation within the recognized design boundaries. This has been traditionally the scope of industrial OSHA, but doesn't have strong systemic coverage in non-industrial machines like cars - here, operational safety is usually implied by ruling out functional safety issues and SOTIF.
- Safety of the Intended Functionality (SOTIF): catching design ommissions which are not faults, but rather unakcnowledged design limitations and system boundaries which could lead to unsafe behavior when exceeded.
- Human/Machine Interface (HMI) Safety: from system-theoretical viewpoint, the human is just another (sub)system in the larger system (of systems), with I/O interfaces where the inputs are usually textual or haptical inputs from the machine, and the output control decisions of the human. Yet because GIGO (Garbage In-Garbage Out), wrongly designed HMIs could lead to misunderstandings on the human operator part, leading to what superficially seems like "human error" but is actually downstream of the true root cause (see slide #9 of my QA slides). HMI Safety doesn't exist as standalone discipline, but is addressed by SYSSAFE techniques like STPA (System Theoretic Process Analysis) and CAST (Causal Analysis Systems Theory).
I work mostly on the Functional Safety of Software.