&gt;  that are then expected to function in a number of differing material contexts (hardware)<p>It&#x27;s not like that. Sometimes they are expected to function in a presence of any kind of errors, other times - not so much and everyone is ok with them breaking occasionally. But we really do have a way to make software that functions reliably in a presence of errors.