Investigadores construyen un sistema automático mejorado para descubrir errores

Software

Permite la ejecución simbólica de aplicaciones escritas utilizando frameworks de programación.

Una de las herramientas de análisis de software más utilizadas es la denominada “ejecución simbólica”. Esta técnica es capaz de localizar y reparar bugs de programación de forma automática.

No obstante el sistema no funciona tan bien para aplicaciones desarrolladas en los frameworks de programación actuales.

Como explican los investigadores, una aplicación puede tener sólo 1.000 líneas de código pero generalmente importará funciones desde un framework de programación, que incluye grandes bibliotecas o código reutilizado frecuentemente. Al añadir estas líneas importadas, esa ejecución simbólica supone más tiempo.

Y no sólo eso.

Si escribes un programa hoy utilizas frameworks y piezas de funcionalidades y luego las pegas entre sí; sólo escribes algo de código para que interactúen. Si no entiendes lo que está haciendo ese framework nunca vas a saber dónde va a ejecutarse tu programa”, explica uno de los investigadores involucrados en el proyecto.

Investigadores del MIT han dado un importante paso al permitir llevar a cabo5gracias a un sistema que construye automáticamente modelos de librerías de framework.

Al comparar su modelo con el modelo de biblioteca de componentes de interfaces gráficas de usuario Java, Swing, los investigadores han descubierto que el nuevo modelo fue capaz de resolver muchos problemas en el código escrito de forma manual.

Para generar su modelo ejecutaron una suite de tutoriales creadas para enseñar a los novatos cómo programar en Java. El sistema monitoriza automáticamente las interacciones entre el código de los tutoriales y el del framework que importante los tutoriales.

“Lo genial es que están diseñados para ayudar a la gente a entender cómo funciona el frameworks, así que es una buena manera para enseñar al sintetizador cómo funciona el framework”, ha explicado el experto.

Leer la biografía del autor  Ocultar la biografía del autor