whyline for java, la principal innovación en debuggers Java en mucho tiempo
miércoles, julio 28, 2010 at 9:55AM whyline for java es el resultado de un proyecto de investigación de una universidad americana. Es un nuevo concepto de depurador; desde mi punto de vista es la principal innovación que he visto en este campo desde hace bastante tiempo.
Whyline permite "grabar" la ejecución de un programa Java, y una vez ha sido grabada permite volver a reproducirla, o navegar hasta un determinado punto de la ejecución. Básicamente, ha convertido la ejecución en un video, y empleando un slider podemos movernos hacia adelante o hacia atrás en la ejecución.
El propósito de esto es "volver" al punto donde se produjo un bug, y poderlo reproducir. Pero no sólo esto, sino que (al menos en aplicaciones swing, no me queda claro si tiene algún tipo de soporte para otras aplicaciones) una vez hemos visto donde se produce el bug podemos interactuar con la interfaz gráfica del programa y a partir de los componentes gráficos podemos "preguntar" porque ha sucedido algo (why-line).
Es posible aplicar filtros sobre la línea temporal de ejecución de la aplicación, de tal modo que sólo se muestra ciertos eventos. Por ejemplo, podríamos filtrar todo lo que no sean eventos de mover un slider; entonces la línea de ejecución de la aplicación sólo se mostraría cuando este tipo de eventos se estaban generando. También permite "guardar" ejecuciones y volverlas a reproducir, o compartirlas con otros desarrolladores.
La herramienta permite inspeccionar visualmente cualquier propiedad de un componente swing, y al preguntarle por qué una determinada propiedad tiene un determinado valor nos lleva a la línea de código responsable de ese valor de la propiedad. Una vez llegamos esa línea, también permite navegar por el código viendo líneas relacionadas.
En este pequeño video, muy útil para comprender cómo funciona la herramienta, muestra cómo resolver un problema con una aplicación swing básica que funciona como un paint. Aquí tenéis un video tutorial más amplio.
En principio, da la impresión de que la aplicación sólo funciona con aplicaciones swing. La aplicación es gratuita, y será opensource en el futuro. Actualmente no está disponible el código fuente porque los autores están solicitando patentes relativas a ella.
¿Qué opinan sobre esta herramienta?
j2se 
Reader Comments