Publicidade

Microsoft desenvolve IA capaz de identificar erros em código

Por| Editado por Douglas Ciriaco | 14 de Dezembro de 2021 às 16h39

Link copiado!

Reprodução/lmonk72/Pixabay
Reprodução/lmonk72/Pixabay
Tudo sobre Microsoft

A Microsoft desenvolveu um modelo de aprendizagem profunda capaz de identificar bugs em código. Chamada BugLab, a ferramenta varre as linhas do programa em busca de problemas estruturais ou erros de sintaxe, indicando com maior precisão quais pontos devem ser corrigidos — ou, pelo menos, reavaliados.

A ideia é excelente, mas não se anime tanto: o BugLab não consegue identificar inconsistências lógicas complexas. Na verdade, o modelo é capaz de apontar erros mais banais, como a menção de uma variável não declarada ou o uso de linguagem natural indevido, ou seja, pode não ser uma IA extremamente robusta para programação, mas certamente é um baita ajudante para longas horas de programação.

Continua após a publicidade

Por enquanto, o BugLab ainda não consegue corrigir os erros assim que são encontrados — capacidade esta que seria bem mais complexa. Ainda assim, o simples fato de indicar onde estão os erros já poupa o desenvolvedor de varrer o código visualmente ou depender de relatórios de erros nem sempre intuitivos do Ambiente de desenvolvimento integrado (IDE).

Treinamento estilo "pega-pega"

No BugLab, dois modelos competem bem no estilo “pega-pega” (do inglês, “Hide and seek”). Enquanto o “seletor de bugs” passa pelo código presumidamente correto e, no meio, insere uma modificação discreta — um caractere a mais, por exemplo —, o outro, o “Bug detector”, é posto para varrer o bloco inteiro para encontrar os defeitos.

Essa estratégia é fortemente inspirada em Generative Adversarial Networks (GAN), uma classe de frameworks de aprendizado de máquina. Contudo, em vez de o “seletor de bug” reescrever um pedaço de código inteiro, ele retrabalha um bloco que está supostamente funcionando.

Continua após a publicidade

Primeiros testes em Python

Para avaliar a performance do BugLab, a Microsoft o colocou para trabalhar em correções para os pacotes de software Python Package Index. Os resultados foram promissores: os modelos treinados com o estilo inspirado no GAN são 30% melhores que as alternativas — 26% dos erros são encontrados e corrigidos automaticamente.

Entretanto, avisos "falsos positivos" foram frequentes, então ficou claro que o algoritmo ainda precisa de mais refinamento antes de ser implementado em uma ferramenta pública. Para isso, porém, será necessário um amplo trabalho sobre o BugLab, em que a experiência de programadores humanos é indispensável.

Não existe previsão para a introdução desta ferramenta para o público geral, afinal, trata-se apenas de um estudo sobre o modelo de inteligência artificial. Levaria pelo menos alguns anos para essa tecnologia sair do papel.

Continua após a publicidade

Fonte: Microsoft