Os carros modernos contam com s / w. Quando os carros modernos falham, por exemplo, o computador do motor falha, geralmente os componentes eletrônicos (embora nem sempre, mas geralmente) são os que mais o afetaram, e não o peso / peso.
Pergunte a qualquer proprietário de um carro moderno com uma ECU quanto tempo dura antes de uma falha cara. Ficarei surpreso se você conseguir 10 anos. Carros modernos cheios de eletrônicos e sensores são incrivelmente confiáveis.
Se você estuda a teoria da confiabilidade, a resposta se torna cegamente óbvia. Tudo o que é mecânico (software esperado) tem uma confiabilidade estável, que é a taxa de falha quando fora das regiões de mortalidade e desgaste infantil. A taxa de falha do item final é a SOMA das taxas de falha das peças. Adicione mais peças: a taxa de falha agregada se torna um número maior. O desafio, então, é reduzir as taxas de falha de todos esses componentes.
Quando se trata de coisas como correias dentadas e desgaste do cilindro e sensores de oxigênio ficando cheios de porcaria, conectores ôhmicos e fios quebrando devido à vibração - existem técnicas que podem ser usadas para reduzir a taxa de falhas. O custo também aumenta à medida que você faz isso.
Por outro lado, o software tem uma taxa de falhas constante. Apesar da dificuldade de encontrar defeitos às vezes, no final, todo software é uma máquina de salsicha. Entradas -> Fazer coisas -> Saídas. Às vezes, a ORDEM de entradas e as combinações de entradas levam à falha nos modos detectáveis. Quando isso acontece, você encontra o seu defeito, corrige-o e segue em frente.
O software que não possui defeitos (conhecidos) possui efetivamente uma taxa de falhas de 0. Ele funcionará para sempre sem falhas. (Tempo médio entre falhas = 1 / taxa de falhas). A plataforma de hardware falhará primeiro.
O software com defeitos pode ser executado apenas até que a combinação correta de condições de entrada, com o tempo, faça com que o defeito se manifeste.
O FALLACY em tudo isso é tentar comparar as taxas de falhas de coisas físicas (causadas por desgaste, migração de metais nos CIs, entrada de água, vibração etc.) com uma taxa de falhas do que é essencialmente uma máquina de estado finito que simplesmente faz exatamente o que sua sequência de instruções diz para ele fazer.
(Mesmo coisas como partículas alfa lançando bits na RAM são um fenômeno físico, não um defeito de software. A maneira de lidar com uma situação tão uniforme PODE, no entanto, ser um defeito de software, mas lembre-se de que essa desagradável partícula alfa era apenas mais uma entrada para o software. )