Um
bug (, termo da
língua inglesa que significa, neste contexto, "defeito") é um erro no funcionamento comum de um
software (ou também de
hardware), também chamado de
falha na
lógica de um
programa, e pode causar comportamentos inesperados, como resultado incorreto ou comportamento indesejado. São, geralmente, causados por erros no próprio
código-fonte, mas também podem ser causados por algum
framework,
interpretador,
sistema operacional ou
compilador.
Defeitos podem causar tanto problemas como falhas de segurança, principalmente em programas que tem alguma forma de conexão à
Internet, como é o caso de
navegadores (
browsers) e
clientes de e-mail, pois
crackers podem se aproveitar dessas brechas para terem acesso a informações e arquivos contidos no computador infectado, e são mais comuns em programas em desenvolvimento (exemplo: programas em
versão beta), mas, quando descobertos, estes são consertados por sua ou equipe de desenvolvimento.