Informática

Como fazer softwares com menos bugs

Erros de programação

É possível criar softwares com 100 vezes menos erros e vulnerabilidades do que os atuais, de acordo com cientistas da computação do Instituto Nacional de Padrões e Tecnologia (NIST) dos EUA.

Para chegar a esse nível de qualidade, eles recomendam que os programadores adotem algumas abordagens compiladas em uma nova publicação que está sendo distribuída gratuitamente.

O documento de 60 páginas é uma coletânea das mais recentes estratégias desenvolvidas por toda a indústria de software, empresas de segurança e pesquisadores para reduzir os bugs de software.

Casa Branca

Embora o relatório seja oficialmente uma resposta a uma solicitação feita pelo Escritório de Política Científica e Tecnológica da Casa Branca, o conteúdo pode ajudar qualquer um que pretenda criar um código de computador de alta qualidade e com poucos defeitos.

"Nós queremos que os programadores conheçam essas estratégias. Nós nos concentramos em incluir ideias novas sobre as quais eles provavelmente não tenham ouvido falar," disse o pesquisador Paul Black, coordenador do grupo de trabalho.

Diminuir o número de bugs de software traz muitas vantagens, como reduzir o número de travamentos dos computadores, de reinicializações que os usuários precisam fazer, para não mencionar a diminuição do número de atualizações que precisam baixar. O problema é que as vulnerabilidades são mais do que comuns nos programas - mesmo pequenos aplicativos têm centenas de bugs, de acordo com estimativas e avaliações citadas no relatório.

Técnicas para reduzir bugs de software

O documento centra-se em cinco conjuntos de abordagens, ferramentas e conceitos que podem ajudar a melhorar a qualidade dos programas. Apesar dos títulos em um jargão pesado, cada conjunto possui uma ideia, um princípio abrangente, que não é difícil de captar.

Em termos mais próximos do senso comum, essas abordagens incluem:

  • Usar linguagens de programação adequadas para a tarefa que o código precisará executar.
  • Usar ferramentas matemáticas para verificar se o código funcionará corretamente.
  • Dividir os programas em partes modulares de modo que, se uma parte falhar, o programa inteiro não trava.
  • Conectar ferramentas de análise de código que atualmente operam isoladamente.
  • Desenvolver táticas que possam ser alteradas e evoluir para proteger o código que seja alvo de ataques cibernéticos.

Também são fornecidas dezenas de referências com links para aprofundamento de cada tema específico citado no relatório.

O relatório, disponível apenas em inglês, intitulado Reduzindo Dramaticamente as Vulnerabilidades de Software, pode ser baixado gratuitamente.

Bibliografia:

Dramatically Reducing Software Vulnerabilities
Paul E. Black, Lee Badger, Barbara Guttman, Elizabeth Fong
DOI: 10.6028/NIST.IR.8151




Outras notícias sobre:

Mais Temas