The Three Levels of Software Safety

Marianne Bellotti
Software Safety
Published in
5 min readDec 28, 2020

--

The more software eats the world, the more critical safety is … but what exactly does that mean?

Hacker image by catalyststuff

Software engineers are bad at safety because software engineers are not used to the idea that software can injure. All around the industry, the mantel of technical leadership has been passed to people about my age, perhaps a few years older. We grew up when computers weren’t so powerful, when their use was an optimization rather than a necessity, when their first commercial successes were in toys. We don’t think about safety as being a relevant issue for software, and we need to change our perspective on that.

But what does it mean for software to be safe? It’s easy to conceptualize how a car could be safe or unsafe. Easy to understand how a medical instrument could be safe of unsafe. But code?

I like to think of software safety as being about three levels of concerns. Understanding where what you are building fits on those three levels, will tell you how best to focus your time and attention in a safety conversation.

Level 1: Safety as a Synonym for Security

For years, the only “safety” software developers thought about was “memory safety.” People will still jump to that conclusion, treating safety as a synonym for security.

--

--

Marianne Bellotti
Software Safety

Author of Kill It with Fire Manage Aging Computer Systems (and Future Proof Modern Ones)