Fault, failure and co.

What’s in a name? that which we call a rose
By any other name would smell as sweet
–Shakespeare

Names aren’t that important, but consistency is. I had a discussion with my colleague Onur Taviloglu about the terminology used in my post Debugging: a detailed look at failures.  He pointed to me the terminology used by Algirdas Avižienis, which somewhat contradicted with the terminology of my post. So, I got in touch with my university professor Oguz Tosun, and dug through some resources:

  • Avižienis, A., Laprie, J. C., Randell, B., & Landwehr, C. (2004). Basic concept and taxonomy of dependable and secure computing.
  • Cai, K. Y. (2012). Software defect and operational profile modeling (Vol. 4). Springer Science & Business Media.
  • Musa, J. D., Iannino, A., & Okumoto, K. (1987). Software reliability: measurement, prediction, application. McGraw-Hill, Inc..
  • Pradhan, D. K. (1996). Fault-tolerant computer system design. Prentice-Hall, Inc..

And I came up with the following summary on used terminology:

Avižienis Pradhan me Cai Musa me
Focus HW/Random[1]Actually, Avižienis doesn’t focus only on HW, but computing in general. However, his terminology matches with other HW-based approaches, so I chose to simplify and categorize it as HW. SW/Systematic
Phases Fault
Error
Failure
Fault
Error
Failure
Fault
Failure
Error
Error
Defect
Fault
Failure
Error
Defect
Failure
Error
Defect
Failure

First note is, on random failures, there is a consensus, and I was the outlier. So I corrected my terminology to Fault→Error→Failure like Avižienis and Pradhan.

Secondly, on systematic failures, there is also a fair consensus. My terminology matches Musa’s, while Cai is deviating somewhat by introducing an intermediate “fault” step, thereby creating a four phase model. I think we can settle on three phases to keep in the spirit of KISS, and also keep a similar three phase structure to random failures.

After correcting the terminology, the original post still remains valid and hopefully useful.

In the next posts, I want to focus on more practice than theory, but let’s see how life evolves. In the meantime, I’d love to hear back from you.

Footnotes

Footnotes
1 Actually, Avižienis doesn’t focus only on HW, but computing in general. However, his terminology matches with other HW-based approaches, so I chose to simplify and categorize it as HW.

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.