Redação do Site Inovação Tecnológica - 18/12/2007
Se cada correção de bug de um programa de computador tivesse que gerar um "recall", como acontece na indústria automobilística, por exemplo, as empresas de software certamente seriam as campeãs nesse indesejado ranking.
Os programas de computador não mudam de versão apenas para incorporar novos melhoramentos - na verdade, a maioria das atualizações ocorre para sanar erros das versões anteriores. A tarefa de encontrar erros em programas de computador é difícil, demorada e, principalmente, cara
Localizador de erros open-source
Mas o trabalho poderá ficar um pouco mais fácil, e mais barato, graças a uma nova ferramenta open-source criada por uma equipe de matemáticos e cientistas da computação do Instituto Nacional de Padronização e Tecnologia dos Estados Unidos.
Os pesquisadores analisaram travamentos em uma grande variedade de programas - de programas incorporados em equipamentos médicos até navegadores de internet. Os dados reforçam algo que já se sabia há tempos: a maioria dos erros e travamentos resultam de eventos simples e não de tarefas complicadas que os programas são capazes de fazer.
Mesmo os navegadores de internet, que trabalham simultaneamente com centenas de variáveis, a maioria dos travamentos foi causada pela interação de apenas duas dessas variáveis.
Teste combinatorial
A nova ferramenta localiza os erros do programa utilizando uma técnica de nova geração chama teste combinatorial. A técnica lembra a química combinatorial, na qual os cientistas pesquisam múltiplos compostos químicos simultaneamente, ao invés de procurar por um de cada vez.
Imagine um processador de textos que seja capaz de mostrar 10 formatos de texto diferentes. Determinadas combinações de formatos - como acionar simultaneamente o itálico, o negrito e o subscrito - podem fazer o programa travar.
Testar todas as possíveis combinações dos 10 efeitos possíveis exigiria 1.024 testes. Entretanto, testar todas as possíveis combinações de quaisquer três efeitos exigirá apenas 13 teste. Se os testes forem selecionados adequadamente, as 10 diferentes variáveis permitem que se explore 120 combinações de "triplos" simultaneamente.
Beta-testers
O novo programa foi apresentado em uma conferência internacional de programação e deverá ser colocada em disponibilidade no início do próximo ano. Os pesquisadores inicialmente estão convidando desenvolvedores para atuar como testadores da versão beta.
O programa será disponibilizado no formato open- source, onde tanto o programa executável quanto o código-fonte podem ser livremente acessados e melhorados pela comunidade de usuários.