Erro, Defeito: Falta, Falha –> Cuidado ao dar nomes!!

Recentemente, em um dos seminários do LES, foi apresentada uma pesquisa sobre estratégias de aumento de qualidade em software utilizando-se instrumentação de código. Com adequada instrumentação é possível evitar-se que um software apresente um defeito de maneira não controlada. Antever um possível problema e fazer com que o software reaja a esse problema de maneira “educada” é um desafio para os Engenheiros de Sofware. Em Inglês, utiliza-se o termo “graceful degradation” para denotar essa maneira “educada”. Além disso, uma instrumentação adequada fornecerá subsídios para a reparação do problema.

Vamos utilizar esse contexto para mostrar como é problemático o uso de nomes de uma maneira pouco cuidadosa. Nomes, claro, são muito importantes, mas muitas vezes o seu mau uso pode gerar muita confusão.

O caso que iremos tratar é justamente o termo utilizado para denotar essas estratégias de instrumentação do código com objetivo de torná-lo mais “educado”. Em Inglês utiliza-se o termo “Fault-Tolerant” para denotar software que age educadamente. No entanto em Português o nome comumente utilizado é “Tolerância a Falhas .

Tradução errada? Não exatamente, tendo em vista que vários dicionários traduzem “fault” para falha ( veja aqui, aqui e aqui). Se consultarmos o dicionário do Aurélio, veremos que falha tem como sinônimo falta, mas falta não tem falha como sinônimo. No entanto, o mais apropriado seria que a tradução fosse falta, conforme esse dicionário. Se consultarmos o Wordnet, veremos que “fault” não tem “failure” como sinônimo, mas veremos que “failure”, sim, tem “fault” como sinônimo. Portanto há coerência entre os dicionários do Aurélio e o Wordnet.

E dái? Bom, na literatura de Engenharia de Software na língua Inglesa o termo “failure” tem uma denotação bastante distinta do termo “fault”. Diz-se que um software pode ser tolerante a faltas, mas não a falhas! Não existe em Inglês o termo “Failure Tolerant”. É simples de ver: na Wikipedia encontra-se o termo “fault tolerant”, mas o termo “failure tolerant” é inexistente.

A distinção entre falta e falha é a seguinte: a) falta é um problema bem determinado no artefato, b) falha é a conseqüência de uma ou mais faltas e c) a falha é a percepção de que o artefato não comportou-se como o esperado. Portanto, observar que um software falhou é um nível de percepção externa ao software, enquanto a falta é a identificação interna, no software, de um problema.

No entanto, a Engenharia de Software, principalmente na área de Validação, é mais cuidadosa na escolha de termos, com o uso de “error” e “defect”. Se consultarmos o Wordnet veremos que não existe ligação direta de “error” para “defect”, nem vice-versa. No entanto, o termo “fault” aparece na lista de sinônimos das duas palavras. O mesmo ocorre no dicionário do Aurélio.

Na área de Validação utiliza-se erro para denotar um problema interno ao artefato e defeito para denotar a percepção externa de que o artefato não se comportou como o esperado. Erros ocasionam defeitos. Veja o paralelismo com a definição acima de falha e falta. No entanto em Validação vai-se além: testa-se para descobrir-se defeitos e depura-se para descobrir-se erros!

Nomes têm que ser utilizados com cuidado!

(08/07) – Veja uma relação de relatos sobre problemas na produção de software.

…………

Leia sobre Sistemas de Informação.

Veja a página do autor.

7 Respostas to “Erro, Defeito: Falta, Falha –> Cuidado ao dar nomes!!”

  1. jcspl Says:

    # S: (n) defect (an imperfection in a bodily system) “visual defects”; “this device permits detection of defects in the lungs”
    # S: (n) defect, shortcoming (a failing or deficiency) “that interpretation is an unfortunate defect of our lack of information”
    # S: (n) defect, fault, flaw (an imperfection in a device or machine) “if there are any defects you should send it back to the manufacturer”
    # S: (n) blemish, defect, mar (a mark or flaw that spoils the appearance of something (especially on a person’s body)) “a facial blemish”

  2. Marcos Urata Says:

    Muito bom.

    Entretanto, convém lembrar que de acordo com a KA de Testes do SWEBoK, fault e defect (falta e defeito) são considerados sinônimos – são as causas do mau funcionamento – e podem gerar como consequência uma failure (falha) – o efeito indesejado.

    []s,
    Marcos Urata

  3. jcspl Says:

    Obrigado. A nota é justamente para lembrar como muitas vezes a literatura é pouco cuidadosa com o uso de nomes.

    Veja o que escrevi: “Se consultarmos o Wordnet veremos que não existe ligação direta de “error” para “defect”, nem vice-versa. No entanto, o termo “fault” aparece na lista de sinônimos das duas palavras.”, ou seja em Inglês, de maneira geral, os termos fault and defect são sinônimos.

  4. Alguns Elos sobre Falhas no Processo de Produção de Software « Amazing Says:

    […] Falhas no Processo de Produção de Software Relaciono abaixo alguns elos que reportam sobre problemas na produção de software. Estão em Inglês. Vou atualizar a lista com textos em Português na […]

  5. Aula 16 « Princípios de Engenharia de Software Says:

    […] porque procura comparar as expectativas com os resultados demonstrados. Lembrem que um teste detecta defeito, para encontrar os erros precisamos de outro processo. Considero testes um tema já devidamente […]

  6. Sistemas Complexos: Cuidado com o Detalhe « Amazing Says:

    […]  A reportagem inicia-se com a frase: “O maior apagão da história da aviação brasileira foi causado por falha humana.”. O termo apagão foi cunhado pela imprensa por lembrar a crise de energia que o país passou no fim do século passado. Outro ponto a ressaltar é o emprego do termo “falha” ao ínves de “falta”, veja nota anterior sobre isso. […]

  7. Reunião 4 – G1 « Princípios de Engenharia de Software Says:

    […] Sobre erros e defeitos: vejam aqui. […]

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: