Microsoft desarrolla IA que puede encontrar errores en el código

Icono de tiempo de lectura 2 minuto. leer


Los lectores ayudan a respaldar a MSpoweruser. Es posible que obtengamos una comisión si compra a través de nuestros enlaces. Icono de información sobre herramientas

Lea nuestra página de divulgación para descubrir cómo puede ayudar a MSPoweruser a sostener el equipo editorial. Leer más

Los investigadores de Microsoft han desarrollado una IA que puede encontrar errores en el código, lo que ayuda a los desarrolladores a depurar sus aplicaciones de manera más precisa y eficiente.

Los investigadores Miltos Allamanis, investigador principal, y Marc Brockschmidt, gerente de investigación principal sénior, desarrollaron su IA, BugLabs, de la misma manera que se crean las redes adversas generativas (GAN).

Microsoft enfrentó dos redes: una diseñada para introducir errores pequeños en el código existente y otra destinada a encontrar esos errores. Las dos redes mejoraron cada vez más, lo que dio como resultado una IA que era buena para identificar errores ocultos en el código real.

La ventaja de este enfoque era que el proceso estaba completamente autosupervisado y no necesitaba datos etiquetados.

Informan los resultados de la siguiente manera:

En teoría, podríamos aplicar ampliamente el juego de las escondidas, enseñando a una máquina a identificar errores arbitrariamente complejos. Sin embargo, tales errores aún están fuera del alcance de los métodos modernos de IA. En cambio, nos estamos concentrando en un conjunto de errores que aparecen comúnmente. Estos incluyen comparaciones incorrectas (p. ej., usar “<=” en lugar de “<” o “>”), operadores booleanos incorrectos (p. ej., usar “y” en lugar de “o” y viceversa), usos indebidos de variables (p. ej., usar incorrectamente “i” en lugar de “j”) y algunos otros. Para probar nuestro sistema, nos enfocamos en el código Python.

Una vez que nuestro detector está entrenado, lo usamos para detectar y reparar errores en el código de la vida real. Para medir el rendimiento, anotamos manualmente un pequeño conjunto de datos de errores de los paquetes en el índice de paquetes de Python con dichos errores y mostramos que los modelos entrenados con nuestro método de "esconder y buscar" son hasta un 30 % mejores en comparación con otras alternativas, por ejemplo, detectores entrenados con errores insertados al azar. Los resultados son prometedores y muestran que alrededor del 26% de los errores se pueden encontrar y corregir automáticamente. Entre los errores que encontró nuestro detector había 19 errores previamente desconocidos en código GitHub de código abierto de la vida real. Sin embargo, los resultados también mostraron muchas advertencias de falsos positivos, lo que sugiere que se necesitan más avances antes de que dichos modelos puedan implementarse en la práctica.

Llegan a la conclusión de que su enfoque es prometedor, aunque, por supuesto, se necesita mucho más trabajo para que estos detectores sean fiables para un uso práctico. Dado El trabajo GPT-3 de Microsoft en GitHub sin embargo, es muy posible que este trabajo se comercialice eventualmente.

Lea su artículo completo esta página.

Más sobre los temas: ai, desarrolladores, microsoft