Re: Software's evil



Rene wrote :

You are right about that, though it will only be possible to get a 100% garantuee if You can manage to simulate every possible state in which something can be and that may be possible with some simple combinatorial logic circuit but will very rapidly become impossible if Your design becomes more complex. And only testing managable units is not always good enough either. Suppose one of them has an error which does not show up if You examine it because it only alters some bit somewhere else in memory (and all "replies" You get from Your unit when testing it are what You expect them to be). However, when You run the system as a whole, that bit might be a part of a variable in another managable unit which turned out to be OK as well when You tested it isolated. So You will have to test the units separately and together and creating every possible state that Your system might ever stumble upon, that is impossible.

This is indeed impossible to manage unless you find a way to
fully test "manageable units" and make sure that they are free
of side effects. Needless to say I don't have the solution.

I do not know if it is true in all countries, but there are many countries in which certain electronic devices, like anaesthesiological equipment used to keep a patient asleep during an operation, is not allowed to have software in the circuits that control vital stuff.

Some industries are reluctant to admit software in their safety
products, for instance railways signalling relays.

This does not rule out the fact that many errors remain in software because no "as-decent-as-possible" testing is done.


.