Title: Human error in safety-critical programming

Author(s): Harold Thimbleby

Publication Event: Proceedings of the Twenty-fourth Safety-Critical Systems Symposium, Brighton, UK

Publication Date: 2015-12-30

Resource URL: https://scsc.uk/r862.pdf

Abstract:

It is self-evident that we need an effective safety culture to avoid human error (and its consequences) in programming, yet many of us program as if safety is trivial, and if we just use the right tools it should be even easier. Although it is an unwelcome message, we are deceiving ourselves about how easy safety is, and this deception is self-serving, achieving nothing other than entrenching ignorance of error and its influence over us. The solution is called “resilience” and of the various techniques of resilience, mathematics and Formal Methods are basic tools for safety-critical programming — but they are not sufficient without a proactive commitment to be resilient. We provide a worked example that helps show that error is not “out there” as an abstract concept but deep inside us. Error is an unavoidable companion to our programming that we urgently need to master.