Microsoft desenvolve IA que pode encontrar bugs no código

Ícone de tempo de leitura 2 minutos. ler


Os leitores ajudam a oferecer suporte ao MSpoweruser. Podemos receber uma comissão se você comprar através de nossos links. Ícone de dica de ferramenta

Leia nossa página de divulgação para descobrir como você pode ajudar o MSPoweruser a sustentar a equipe editorial Saiba mais

Pesquisadores da Microsoft desenvolveram uma IA que pode encontrar bugs no código, ajudando os desenvolvedores a depurar seus aplicativos com mais precisão e eficiência.

Os pesquisadores Miltos Allamanis, Pesquisador Principal e Marc Brockschmidt, Gerente Principal de Pesquisa Sênior desenvolveram sua IA, BugLabs, da mesma forma que as Redes Adversariais Generativas (GANs) são criadas.

A Microsoft colocou duas redes uma contra a outra – uma projetada para introduzir bugs pequenos no código existente e outra destinada a encontrar esses bugs. As duas redes tornaram-se cada vez melhores, resultando em uma IA que era boa em identificar bugs escondidos em código real.

A vantagem dessa abordagem era que o processo era completamente autosupervisionado e não precisava de dados rotulados.

Eles relatam os resultados como abaixo:

Em teoria, poderíamos aplicar o jogo de esconde-esconde amplamente, ensinando uma máquina a identificar bugs arbitrariamente complexos. No entanto, esses bugs ainda estão fora do alcance dos métodos modernos de IA. Em vez disso, estamos nos concentrando em um conjunto de bugs que aparecem com frequência. Isso inclui comparações incorretas (por exemplo, usando "<=" em vez de "<" ou ">"), operadores booleanos incorretos (por exemplo, usando "e" em vez de "ou" e vice-versa), uso indevido de variáveis ​​(por exemplo, usando incorretamente “i” em vez de “j”) e alguns outros. Para testar nosso sistema, focamos no código Python.

Uma vez que nosso detector é treinado, nós o usamos para detectar e reparar bugs no código da vida real. Para medir o desempenho, anotamos manualmente um pequeno conjunto de dados de bugs de pacotes no Python Package Index com esses bugs e mostramos que os modelos treinados com nosso método “esconde-esconde” são até 30% melhores em comparação com outras alternativas, por exemplo, detectores treinados com bugs inseridos aleatoriamente. Os resultados são promissores, mostrando que cerca de 26% dos bugs podem ser encontrados e corrigidos automaticamente. Entre os bugs que nosso detector encontrou estavam 19 bugs anteriormente desconhecidos no código GitHub de código aberto da vida real. No entanto, os resultados também mostraram muitos avisos falsos positivos, sugerindo que são necessários mais avanços antes que esses modelos possam ser implantados na prática.

Eles concluem que sua abordagem é promissora, embora, é claro, muito mais trabalho seja necessário para tornar esses detectores confiáveis ​​para uso prático. Dado GPT-3 da Microsoft funciona no GitHub no entanto, é bem possível que este trabalho venha a ser comercializado eventualmente.

Leia o artigo completo SUA PARTICIPAÇÃO FAZ A DIFERENÇA.

Mais sobre os tópicos: ai, desenvolvedores, microsoft