Re: [SystemSafety] Fault, Failure and Reliability Again (short)

From: Nick Tudor < >
Date: Tue, 3 Mar 2015 21:50:12 +0000

Hi Peter

I have had some further thoughts wrt the reliability argument you present in the blog and have done previously. Your proposition is as follows, I believe:

 "Software S exhibits reliability R when subject to input distribution D."

Software in this statement can be replaced with 'system' or 'structure' and I would believe it would hold because the hardware defect is subject to an input distribution and it may or may not fail. However, there is a crucial factor omitted from the above argument which does not hold for software: time.

For example, a wing has a huge input range (in the continuous domain) and any defect may not necessarily cause a failure. It can, of course, fail if subject to stress outside design range and this test is done my manufacturers to ensure that the design is resistant to acceptable limits to internal design weaknesses and material defects. Meanwhile, back to operations. Over *time*, the same distribution may exacerbate the defect to the point where a failure occurs. The same input range therefore did not *always* cause a failure, just after sufficient build up of stress (or whatever) over *time* allowed the defect to become a fault. We can measure this and attribute a mean *time* between failures. The other way of thinking about this is that we know that the system (electronics as well as structures), in the given environment will fail at some point.

For software, the time based element is irrelevant as, if the circumstances required to hit the bug occur, it manifests itself as unexpected behaviour at the system level and it will occur *every* time. There is no wear out mechanism for software (as noted by Michael’s earlier). The distribution D will always cause a system failure at the specific point of the defect in the software; the software does not fail, the system does. It therefore makes no sense to talk about reliability of software because of the irrelevance of the time based aspect. The other way of thinking about this is if the specific circumstances that would cause the defect do not occur, then the software will *always* work as expected.

The riposte to this might be to argue that the reliability of software can therefore be calculated as the probability of a set of circumstances in distribution D that would cause the software defect to have a system effect. However, as you don’t know what the defect is (you would have removed it, if you knew of it) , it’s effect nor the set of circumstances, the value of this exercise is somewhat a guess and hence of dubious measurable value.

It may also be possible to talk about the reliability of defect detection techniques and hence make some claim about the subsequent defect freedom of software. For instance, there are bug hunting tools that claim to find certain classes of bugs. These tools rarely claim to have found all bugs of a certain class, all of the time. So one might be able to claim that there are less bugs. But all that has done has changed from one unknown level of buginess to another (probably lower, but ….) level of buginess. So, again, this is of dubious measurable value.

What can be said, I think, is that every defect removal technique has a set of assumptions that have to be validated (by humans) and that therefore there is a level of uncertainty. The technique itself, review, analysis (static or otherwise) or test has a limit and the boundaries of acceptability are set in standards such as DO-178 where a level of activity is agreed to be undertaken based on a set of Objectives that have to be met in order to support a System Design Assurance Level (DAL). In this way, the reliability question is readily, acceptably and evidently addressed.


Nick Tudor
Tudor Associates Ltd
Mobile: +44(0)7412 074654

*77 Barnards Green Road*
*WR14 3LR*
*Company No. 07642673*
*VAT No:116495996*

* <>*

On 3 March 2015 at 07:11, Peter Bernard Ladkin <ladkin_at_xxxxxx wrote:

> I had some private discussion with someone here who claims software cannot
> fail. I first heard this
> trope a quarter century ago, and I am informed indirectly by another
> colleague that it is still rife
> in certain critical-engineering areas. I address it this morning in a blog
> post at
> Prof. Peter Bernard Ladkin, Faculty of Technology, University of
> Bielefeld, 33594 Bielefeld, Germany
> Je suis Charlie
> Tel+msg +49 (0)521 880 7319
> _______________________________________________
> The System Safety Mailing List
> systemsafety_at_xxxxxx >

The System Safety Mailing List
systemsafety_at_xxxxxx Received on Tue Mar 03 2015 - 22:50:20 CET

This archive was generated by hypermail 2.3.0 : Tue Jun 04 2019 - 21:17:07 CEST