programacion mit

programacion mit

Software

Arreglando bugs de programas sin saber el código fuente gracias al software libre

El MIT ha desarrollado un sistema capaz de arreglar bugs en un programa sin necesidad del código fuente, aprovechando repositorios de software libre.

30 junio, 2015 21:11

Noticias relacionadas

El MIT ha desarrollado un sistema para arreglar bugs sin el código fuente.

Encontrarse un bug que nos fastidie todo el trabajo es algo que le ha pasado todo el mundo al menos una vez en la vida, pero lamentablemente en esas situaciones poco podemos hacer.

Sí, podemos ir al sistema de seguimiento de bugs del creador (o su foro) y crear una nueva entrada quejándonos, o simplemente podemos respirar profundamente y volver a intentarlo. Si tenemos los conocimientos necesarios y el proyecto es software libre podemos mirar el código fuente y solucionar nosotros mismos el problema. Pero si no tenemos esa suerte, estamos en las manos del desarrollador.

Arreglar bugs sin el código fuente es posible usando donantes de código

CodePhage, el sistema desarrollado por el MIT en cambio es capaz de arreglar bugs sin necesidad de mirar el código fuente del programa. Lo consigue analizando la ejecución del programa en cuestión, y comparándolo con otros.

Mientras que el programa se ejecuta CodePhage analiza y registra su funcionamiento, las acciones del usuario, las llamadas al sistema que hace y cómo se comporta, para tener una idea clara de qué es lo que hace y cómo lo hace; a este programa se le llama “receptor”, y CodePhage acaba recopilando dos tipos de situación: una en la que el programa se bloquea por un bug, y otra en la que funciona bien.

lenguaje-programacion

lenguaje-programacion

Entonces el sistema busca entre repositorios de software libre programas que se comporten de manera parecida o ejecuten las mismas funcionalidades; como afirman sus creadores, ahí fuera hay millones de proyectos de código libre que implementan funciones similares a otros de código cerrado, aunque sean diferentes. La clave está en aprovechar este conocimiento de cómo funcionan estos programas (llamados “donantes”) para solucionar el problema del receptor.

CodePhage aplica lo que ha aprendido del programa receptor al donante, ejecutando primero las acciones de cuando el programa funcionó bien y registrando su comportamiento, y a continuación de cuando el programa falló.

De esta manera el sistema es capaz de aprender qué es lo que está mal en el receptor, aunque este proceso puede que no funcione a la primera; simplemente CodePhage va saltando de un donante a otro de manera automatizada hasta que encuentra la solución.

El uso de términos médicos como receptor y donante es apropiado, ya que según sus creadores estamos ante un proceso que convierte código en otro idioma, escrito de manera diferente y por otras personas, en código que el receptor es capaz de usar para solucionar sus problemas.