Definição de Bug (Computação)
Miscelânea / / July 04, 2021
Por Guillem Alsina González, em janeiro 2017
Os primeiros computadores modernos não eram exatamente pequenos, nem funcionavam da mesma maneira, mas baseados em peças mecânicas e eletrônicas maiores.
Estamos situados, em termos temporais, durante a Segunda Guerra Mundial, e mais especificamente em 1944, quando a computador O Mark II (construído pela IBM em Harvard) sofreu uma falha em um relé eletromagnético, na época um componente principal de um computador.
Ao abrir o computador e procurar o relé afetado, os responsáveis descobriram que uma mariposa (em inglês, inseto) penetrou no sistema, batendo no relé, que foi deixado aberto
Desde então, cada vez que ocorria algum tipo de erro no referido computador, os cientistas responsáveis por sua gestão passaram a falar em um inseto, um termo que fez uma fortuna para se referir a todos os tipos de problemas e erros que impediam o normal funcionando de hardware
Com o tempo e o aumento da confiabilidade do hardware em paralelo à sua miniaturização, a maioria dos problemas sofridos pelos computadores Eles permaneceram na seção de software, embora o bug do nome tenha feito uma fortuna para nomeá-los erros
Como devemos entender um bug no sentido moderno do termo? Bem, simplesmente, como uma falha na hora da programação, o que dá origem a uma parte do código fonte contendo um erro essencial, fazendo com que o programa resultante tenha problemas de tempo de execução.
Bugs podem levar a problemas recorrentes, desde que o Nome do usuário faz uma série de coisas, ou quando há uma série de circunstâncias que nem sempre se repetem ao fazer as mesmas coisas na mesma ordem, mas dependem de fatores externos ao programa.
Assim, por exemplo, podemos ter conflitos entre um programa e um programa diferente carregado em memória, mas que o problema ocorre quando fizemos uma série de coisas com os dois aplicativos.
Entre os insetos mais comum na programação, temos a divisão por zero, estouro de buffer, violação de memória, erros de operação com tratamento não contemplado no programa, acesso incorreto a variáveis, ...
As ferramentas de programação Eles tendem a oferecer soluções para detectar e corrigir esses problemas, primeiro revisando o código-fonte e aplicando regras lógicas (por exemplo, se uma variável é acessada antes declará-lo e definir seu tipo) e, em seguida, por meio de ferramentas de teste de código que nos permitem brincar com os valores inseridos e examinar os registros com informações de execução.
Este processo é denominado “depurar”, Do termo inglês depurar (para limpar insetos).
O lado mais escuro dos bugs é que eles podem abrir a porta para a execução malware no sistema que executa o programa afetado
Uma vez que o erro foi causado, existem maneiras de explorar o problema causado no sistema operativo para executar código arbitrário injetado de fora.
Se adicionarmos a isso os privilégios que podem ser obtidos no sistema, temos um potencial perigo muito grave que foi explorado em inúmeras ocasiões por cibercriminosos para acessar sistemas de terceiros.
Fotos: Fotolia - selcuk kırbız / gustavofrazao
Tópicos em Bug (computação)