El MIT crea un sistema para corregir bugs de forma automática

Sistema que repara bugs de programas informaticos

Un grupo de ingenieros del Instituto Tecnológico de Massachusetts (MIT por sus siglas en inglés) ha desarrollado un sistema que tiene la capacidad de arreglar los errores de aplicaciones informáticas de forma automática. Además, la plataforma aprende para poder corregir en el futuro los bugs de otros programas.

Se trata de un software de aprendizaje automático, al que los investigadores han llamado Profeta, que puede registrar minuciosamente las reparaciones de los programas de código abierto para aprender acerca de sus propiedades generales. Gracias a esto, puede producir nuevas reparaciones similares para un conjunto de programas diferente.

Los ingenieros manejan un listado de 69 errores de programación que han obtenido de aplicaciones de código abierto reales. Utilizan este material con frecuencia para poner a prueba los sistemas automáticos de reparación de errores que desarrollan.

Hasta ahora, las plataformas que habían probado habían podido reparar uno o dos bugs. Sin embargo, el nuevo software del MIT pudo solucionar entre 15 y 18 errores, dependiendo de si el sistema se había decidido por la primera solución encontrada o por la óptima contando con más tiempo.

Profeta ha sido diseñado para analizar un grupo de características principales. Se centra en los valores almacenados en la memoria, ya sea variables que se pueden modificar durante la ejecución del programa, o constantes, que no se pueden cambiar. El programa analiza las características y evalúa la relación entre éstas en las sucesivas líneas de código.

¿Errores en Windows? Aquí tienes herramientas para solucionar los problemas

Para reparar los errores, el sistema se basa en un algoritmo diseñado en un proyecto anterior que soluciona los bugs modificando el código del programa. Para ello, analiza las propuestas de actualización con la probabilidad de que son correctos antes de someterlos a pruebas que requieren más tiempo.

"Uno de los aspectos más revolucionarios de Profeta es la forma en que puede aprovechar los parches que han mostrado tener éxito en el pasado para aprender nuevas formas de aplicarlos", explica Eran Yahav, profesor de Ciencias de la Computación en el Technion en Israel. "Se basa en la idea de que, a pesar de las diferencias entre los proyectos de software, se pueden sacar conclusiones de los parches, y este uso promete revolucionar muchas tareas de la programación".