[SystemSafety] Difference between software reliability and astrology

Paul Sherwood paul.sherwood at codethink.co.uk
Wed Aug 14 11:07:54 CEST 2024


Hi Peter

Thank you for your clarifications - please see my comments below

On 2024-08-13 18:59, Prof. Dr. Peter Bernard Ladkin wrote:
>> Which statistical processes are generally recognised to model software 
>> behaviour?
> 
> We are talking safety-critical software.
> 
> The answer is memoryless processes. "Memoryless" here is a technical 
> term of statistics. https://mathworld.wolfram.com/Memoryless.html  It 
> should not be thought to have much if anything to do with "computer 
> memory". Some of us have had years-long "discussions" with engineers 
> who were convinced it must have somehow to do with it, somehow.

I had not heard of "memoryless" before. Is there a rationale for 
considering software/system failure probabilities as exponential, or 
geometric?

Incidentally if anyone is following along I found 
https://en.wikipedia.org/wiki/Memorylessness easier to understand than 
the Wolfram page.

> Not all software is used in a manner which can be claimed to be 
> memoryless. It obviously needs to be so used if you are going to model 
> it with memoryless processes.

>> From previous discussions here and elsewhere (and prior consideration 
>> of ISO26262) I was under the impression that software is 'generally 
>> recognised' to be (ideally) deterministic?
> 
> Did you read the note I forwarded?

I confess I was put off when I saw the opening statement "Software 
execution is deterministic; therefore it is not stochastic;..." etc.

But now I've digested the note (I can't claim to fully follow the 
arguments, but I think I get the gist), the concluding paragraph states

"Even if complex software is deterministic in principle, there is often 
so much uncertainty
concerning the environment and the precise mode of use of the software 
system, and even the
versions of various software subsystems in use, that considering the 
software under conditions of
uncertainty is the manifest way to approach reasoning effectively about 
it. That entails using the
mathematics of uncertainty."

I find myself agreeing with this wholeheartedly - although I don't 
accept that complex software can be deterministic, even in principle.

br
Paul


More information about the systemsafety mailing list