Microsoft desarrolla IA que corrige errores en el código
Encontrar y corregir errores en el código puede llevar mucho tiempo y, a menudo, resulta frustrante para los amantes de la programación. En la Conferencia de 2021 sobre sistemas de procesamiento de información neuronal (NeurIPS 2021), Microsoft mostró un modelo prometedor de aprendizaje, al que llamó BugLab.
BugLab detecta y corrige errores en el código, sin usar datos etiquetados, a través de un juego de «escondite».
¿No sería fantástico si hubiera una forma de corregir automáticamente errores que fueran más allá de los errores de sintaxis? Bueno, entonces, Microsoft ha desarrollado una IA llamada BugLab capaz de hacer eso.
¿Qué es BugLab?
BugLab es una implementación de Python de inteligencia artificial, desarrollada por dos investigadores de Microsoft Research, Miltos Alamanis y Marc Brockschmidt, que encuentra y corrige errores dentro del código.
Estos lograron superar la falta de etiquetas (tags) que se utilizan a menudo en el aprendizaje automático, recurriendo al aprendizaje auto-supervisado y habilitando BugLab si se entrenara a sí mismo a través de un juego de escondite con líneas de código.
BugLab ha sido entrenado usando dos modelos de computadora: uno que oculta errores dentro de los fragmentos de código correctos y otro que busca y corrige errores. Ambos modelos aprenden continuamente el uno del otro.. Con el tiempo, el que oculta los errores mejora para ocultarlos en el código y el otro mejora para detectarlos y corregirlos.
¿Cómo funciona BugLab?
La mayoría de los errores que BugLab está capacitado para detectar y corregir no son lógicos, sino simplemente incorrectos, como en el contexto general del código. Comprender la intención del programador es esencial para encontrar estos errores.

Fuente: Microsoft.
BugLab analiza el código como un todo. De esta manera, cada sintaxis, expresión, símbolo e identificador se representan como puntos en un gráfico, lo que permite que la IA comprender el vínculo y la relación entre los diversos datos.
Las arquitecturas de redes neuronales se utilizan para entrenar la depuración de IA. Pueden extraer información del gráfico de código y proporcionar la relación entre los datos.
El propósito de esta herramienta de corrección de errores
Cabe señalar que BugLab no reemplaza a un programador humano experimentado. El objetivo de Microsoft con BugLab ahorra tiempo a los desarrolladores de software, que a menudo lo pasan revisando su código en busca de los errores más pequeños.
Además, es detectar y corregir errores que ocurren normalmente., como operadores booleanos incorrectos, como usar "o" en lugar de "y", y viceversa, así como comparaciones invertidas y usos incorrectos de variables.
El futuro del BugLab de Microsoft
Según Microsoft, los resultados son prometedores, ya que BugLab es capaz de detectar y corregir automáticamente alrededor del 26% de los errores en un fragmento de código.
Si bien la IA aún está en progreso, tiene la capacidad de encontrar y corregir errores, desde los más pequeños hasta los más grandes. Pero dentro de unos años, es de esperar que BugLab se convierta en una herramienta imprescindible en todas las listas de programadores, incluso si no es perfecta.
Cuanto más tiempo tengan que entrenar los modelos de IA como BugLab con ejemplos de la vida real, mejores y más precisos serán los resultados que producirán en el futuro.
Leer también ...