Fique por dentro das novidades do seu tema preferido

Aprenda a criar sites incríveis com facilidade

Use o poder da internet para divulgar o seu negócio

Inspire-se com as estratégias de grandes empresas

Conteúdos variados para alavancar os resultados do seu projeto

A confirmação da sua inscrição foi enviada para o seu e-mail

Agradecemos sua inscrição e esperamos que você aproveite nossos conteúdos!

Leia nosso artigo e saiba mais sobre o que é bug, como esse termo surgiu e como evitar esse problema que pode afetar seu site ou sistema!

Apesar de a palavra bug ser utilizada amplamente para se referir a falhas inexplicáveis que ocorrem em computadores, tablets, smartphones e dispositivos semelhantes, a história de como essa palavra passou a remeter a erros de computador ainda não é tão conhecida.

Por esse motivo, neste artigo falaremos mais sobre a origem do termo e explicaremos tudo sobre o que é bug, quando ele pode acontecer e quais circunstâncias colaboram para que ele ocorra. Confira!

O que é um Bug?

O termo “Bug” é um jargão usado no ambiente de desenvolvimento para identificar uma falha no sistema. Um problema a ser corrigido, às vezes simples que pode passar despercebido ou mais que urgente que pode causar enormes problemas aos usuários de um determinado sistema.

Esses bugs podem causar problemas icônicos, desde o travamento do Windows (esse é mais comum do que parece) até o vazamento de informações sigilosas, como contas de bancos e demais dados pessoais de usuários. Essas pequenas falhas podem representar uma porta de entrada para pessoas maliciosas, os Hackers.

Algumas empresas elaboram campanhas valendo uma boa quantidade de dinheiro para que os usuários encontrem bug em sua plataforma e entreguem a solução desse problema.

Versões em desenvolvimento e Bug Bounty

Antes que os desenvolvedores e empresas lancem seus programas e dispositivos, muitos testes são realizados para evitar quaisquer tipos de falhas, os famosos “Bugs”.

Quando um bug é encontrado, se faz necessário encontrar a origem da falha não prevista e oferecer a solução o mais rápido possível para os usuários do sistema ou app, pois isso pode ser muito nocivo à integridade dos dados de quem utiliza aquela aplicação.

Por isso, é muito comum que empresas e desenvolvedores ofereçam primeiro uma versão de testes, os chamados beta de sistemas ou apps, para que um grupo restrito de usuários possam testar a aplicação. Na maior parte das vezes os usuários estão cientes que a aplicação é uma versão não completa e estão sujeitas as possíveis falhas.

É importante que os desenvolvedores e empresas informem aos usuários que aquela aplicação é Beta.

Algumas empresas incentivaram campanhas de Bug bounty para que usuários, hackers e pesquisadores encontrassem bugs em suas plataformas, seja sites, apps, programas ou sistemas, premiando com uma bela quantia de dinheiro para aqueles que trouxessem a solução. Veja exemplos:

  • Google;
  • Netflix;
  • Microsoft;
  • Samsung;
  • Paypal;
  • Facebook;
  • Instagram;

O que é bug e qual a sua origem?

A palavra tem origem inglesa e, em português, o significado de bug é “inseto”. Uma das teorias afirma que o termo teria sido utilizado pela primeira vez por Grace Hopper, programadora da marinha dos EUA, em 1947.  

Em um diário de bordo, Hopper usou a palavra para explicar o mau funcionamento do computador Mark II, da Universidade de Harvard. A falha teria sido causada por um inseto que ficou preso nos contatos de um relê, daí a associação com o bichinho e com as falhas em computadores.

Primeiro registro de bug encontrado

Apesar do registro de Hopper, há também a teoria de que Thomas Edison tenha escolhido o termo primeiro para descrever uma falha mecânica, causada por um inseto que gerou problemas na leitura do seu fonógrafo.

Atualmente, a palavra “bug” é utilizada quando erros ocorrem no funcionamento de um software ou hardware. Pode resultar em comportamentos inesperados, como, por exemplo, um resultado errado ou performance indesejada.

Entretanto, na maioria dos casos, trata-se de falhas no próprio código-fonte, que podem ser causadas, entre outras razões, por um framework, sistema operacional ou compilador. Os bugs são um problema maior quando se tornam porta de entrada para crimes cibernéticos.

Os bugs mais famosos

Bug do milênio

No final do século XX ocorreu o bug do milênio, que passou de um problema simples de informática para uma preocupação em todo o mundo. Isso porque os sistemas antigos em que foram desenvolvidos nesse período guardavam e interpretavam as datas com dois dígitos no ano.

Sendo assim, quando houve a virada do milênio, surgiu a preocupação de o ano 2000 ser reconhecido como 1900. Isso faria com que as instituições financeiras tivessem suas aplicações financeiras com juros negativos, dando muito prejuízo para os investidores.

Após esse evento, houve grandes esforços para renovar os sistemas e corrigir o problema a tempo, antes que algum prejuízo ocorresse. Esse foi um dos fatores que resultou no crescimento de empresas do segmento de informática. 

O bug de mais de 300 milhões de dólares

O lançamento do foguete Ariane 5 em 4 de junho de 1996, na França, marcava a data de um bug milionário. Naquele ano havia sido investido um alto capital para construção do foguete e de todo projeto consolidado da corrida espacial europeia.

No entanto, no momento do lançamento, o foguete Ariane 5 desviou a rota e, logo em seguida, ligou o modo de autodestruição, conquistando um dos maiores prejuízos da história, levando mais de 300 milhões de dólares às chamas. 

A causa do problema foi o reaproveitamento do software do Ariane 4. Acontece que o código estava recebendo o valor de 64 bits em float point. Porém, esperava-se receber um valor inteiro de apenas 16 bits. Assim, a aplicação do Ariane 5 foi incapaz de lidar com uma carga tão grande de processamento, consolidando o desastre do lançamento.

A lição dita neste acontecimento é: nunca esqueça de debugar o código.

Programação web: é possível evitar bugs?

Atualmente, na programação web, o ideal é evitar que os bugs aconteçam, porém, nem sempre isso é possível. Muitos sistemas já trabalham para isso, como a extensão de navegador Firebug, que facilita a correção de bugs, identificando e eliminando os possíveis erros de programação e edição.

Para usuários do Chrome e outros navegadores, a opção “Inspecionar” (nativa sem necessidade de extensão) também cumpre muito bem a função de debugging, auxiliando na inspeção e análise dos elementos de uma página web.

inspecionar elementos de uma página web

Testes para evitar bugs

Outro método eficaz adotado por desenvolvedores de softwares é o teste beta, cujo objetivo é identificar falhas e impedir que elas cheguem até os usuários. No caso de bugs serem encontrados após seu lançamento, a empresa precisa oferecer uma atualização gratuita.

Por esse motivo, as companhias utilizam versões beta ao criarem um site ou sistema, selecionando um grupo de usuários para testá-lo e verificar se há bugs. Como precaução, esses usuários são notificados sobre os riscos, além de se comprometerem a relatar qualquer tipo de falha identificada.

Outro teste feito é o Bug Bounty, que consiste na remuneração de pesquisadores de segurança digital e, em alguns casos, de hackers, para que tentem encontrar algum bug e notificar a empresa em caso positivo. É uma estratégia que ajuda a eliminar esse problema com mais agilidade e eficiência.

Como corrigir Bug, ou, como Debugar?

A operação para corrigir um bug chama-se debugging e para isso existem um grande número de técnicas para solução destas falhas nos sistemas de tecnologia, que vão desde análise técnica dos sistemas ao memory dump.

memory dump ou despejo de memória é uma reprodução de tudo o que está na memória em um determinado momento da execução do programa. Em geral, isto é feito em um momento de erro.

O despejo normalmente trata da reprodução física da memória e é muito importante me linguagens de nível um pouco mais baixo (Assembly, C, C++, etc.) que tem acesso total à memória e pode produzir resultados inesperados (fonte stackoverflow).

O processo de depuração ou Dubugar é muito recorrente, com isso surgiram muitas ferramentas para automatização dessas tarefas para manutenção e gestão da qualidade dos softwares. Para esse tipo de aplicação é comum a execução do código dentro de uma máquina virtual com a finalidade de encontrar erros no sistema.

Veja uma lista com algumas ferramentas de debug:

Considerações Finais

Nese artigo você aprendeu o que é um bug, exemplos famosos da história e também formas de realizar um debug.

Se você sentiu alguma dificuldade ou então tem alguma sugestão de algo que não foi mencionado, basta deixar aí nos comentários que no futuro podemos trazer atualizações para este artigo. Também indico esses outros materiais relacionados com este assunto:

Até a próxima! :^)

Navegue por tópicos

  • O que é um Bug?

  • Versões em desenvolvimento e Bug Bounty

  • O que é bug e qual a sua origem?

  • Os bugs mais famosos

    • Bug do milênio

    • O bug de mais de 300 milhões de dólares

  • Programação web: é possível evitar bugs?

  • Testes para evitar bugs

  • Como corrigir Bug, ou, como Debugar?

  • Considerações Finais

Tags:

    Vanessa Fetter

    Profissional de comunicação e marketing, com formação em jornalismo e especialização em Mídias digitais. Atualmente atua como Coordenadora de Comunicação na HostGator, onde é responsável pelas áreas de produção de conteúdo e mídias sociais.

    Mais artigos do autor

    Garanta sua presença online

    Encontre o nome perfeito para seu site

    www.