Erro de software, é um problema em um programa de computador ou sistema de software que aciona um resultado indesejado. Os programas que auxiliam na detecção e remoção de erros de programação de software são chamados de depuradores. Os muitos incidentes notáveis causados por este tipo de erro incluem a destruição em 1962 da sonda espacial Mariner 1.1 em 1996, o Ariane 5 5012 e em 2015 o Airbus A400M.3.
Em 1967, os criadores do Mak III relataram o primeiro caso de erro de computador causado por um bug. O Mark III, o computador sucessor do ASCC Mark II, construído em 1944, sofreu uma falha de relé eletromagnético. Quando este relé foi investigado, uma mariposa (bug) foi encontrada e fez com que o relé permanecesse aberto. Grace Murray Hopper, uma importante matemática e física que trabalhou como programadora no Mark II, registrou o inseto no diário de bordo.
Este incidente é erroneamente referido como a origem do uso da palavra inglesa bug (“bug”) para indicar um problema em um dispositivo ou sistema.5 6 Na verdade, o termo bug já fazia parte da língua inglesa, pelo menos desde Thomas Alva Edison usou em 1889 a respeito de interferência e mau funcionamento. Hopper pode primeiro tê-lo associado à computação - neste caso, relacionado a um bug real. Por outro lado, embora durante a década de 1950 Hopper também usasse o termo debug em inglês ao discutir a depuração em códigos de programação, o primeiro uso registrado do termo foi encontrado no Journal of the Royal Aeronautical Society 1945.
Em caso de erro, é uma palavra utilizada por todos aqueles que têm conhecimento na área de informática. Esta palavra em inglês, a tradução literal é "bug", é usada para nomear os erros que ocorrem em um programa de computador.
Um erro é gerado na programação do projeto do software e, em algum momento, ele se manifesta para o usuário. Alguns erros comuns são a inclusão de variáveis que não foram inicializadas no momento preciso, a má indexação de tabelas em um banco de dados, a criação de um loop infinito, o uso de fontes de difícil leitura ou a escolha de cores que confundir os usuários.