Also available in English

Inf@Vis!

La revista digital de InfoVis.net

Visualización de Software
por Juan C. D√ľrsteler [mensaje nļ 25]

Hoy por hoy la gente que programa software utiliza entornos casi completamente textuales. La visualización de software promete complementarlos.

Tradicionalmente la programación ha consistido básicamente en escribir las instrucciones en un lenguaje de programación mediante un editor de textos, compilar el programa y ejecutarlo ayudados por un depurador (debugger) para encontrar los errores y volver a empezar el ciclo hasta obtener un resultado satisfactorio.

A día de hoy la cosa no ha cambiado mucho. Incluso los lenguajes de programación que llevan la palabra "Visual" delante utilizan una interfase básicamente textual. Donde se han introducido más elementos visuales es en la programación de la interfase de usuario, por ejemplo con el Visual Basic de Microsoft. 

Sin embargo las muchas experiencias y desarrollos que se han llevado a cabo en los centros de investigación, como la visualización animada de la ejecución de los programas o la representación de programas mediante elementos 3D no han llegado todavía a la práctica diaria. Véase por ejemplo una interesante lista de enlaces a artículos sobre el tema en la Universidad de Ginebra o la interesante página del GVU Centre del Georgia Tech.

Por otro lado muchos sistemas tienen millones de líneas de código escritas por decenas de programadores. Tales sistemas son muy difíciles de aprehender en su totalidad lo que los hace candidatos excelentes para la visualización, ya que en dichos sistemas interesa encontrar patrones, por ejemplo de complejidad o de ocurrencia de errores que permitan tomar decisiones sobre que partes modificar o cuales presentan mayor problemática

Un ejemplo de ello es la herramienta Seesoft desarrollada por los Bell Labs para visualizar software. Se apoya en cuatro ideas b√°sicas:

  1. Representaci√≥n reducida: cada fichero de programa se representa mediante un rect√°ngulo de base fija y altura proporcional al n√ļmero de l√≠neas que contiene. Las l√≠neas de c√≥digo se representan mediante l√≠neas horizontales dentro del rect√°ngulo proporcionales a su longitud e indentadas como lo est√°n en el programa.
  2. Coloreado por estadística: cada línea de código exhibe un color determinado por una estadística asociada a dicha línea. Por ejemplo si es una línea que ha cambiado recientemente o que ha producido errores en el pasado o que se ha ejecutado n veces. Basta seleccionar una estadística, es decir un color, para que enseguida se resalte en todos los archivos cuyas líneas tienen esa estadística asociada.
  3. Manipulación directa: moviendo el cursor sobre porciones de la pantalla se produce la interrogación de la base de datos que contiene el código y se iluminan con el color apropiado las líneas que la resuelven.
  4. Capacidad de leer el código real: para ver el código basta abrir una ventana de lectura y colocar un cuadrado de aumento sobre la representación del mismo.

Estos sistemas permiten identificar patrones en los programas y tener una vista de conjunto de las estadísticas de nuestro interés. Por ejemplo, se pueden ver rápidamente qué ficheros son más viejos, cuales son los que han dado más problemas o que líneas se ejecutan más a menudo.

Ya hace a√Īos que los entornos de programaci√≥n incluyen visualizadores de las estructuras de datos y editores que identifican las palabras clave y las presentan en otros colores. Estas t√©cnicas seguir√°n introduci√©ndose lentamente en las herramientas de programaci√≥n en el futuro, haciendo esta compleja tarea m√°s manejable.

Enlaces de este artŪculo:

http://searchvb.techtarget.com/  
http://cui.unige.ch/Visual/VP.TechRep.html  
http://www.cc.gatech.edu/gvu/softviz/SoftViz.html  
http://www.cc.gatech.edu/computing/classes/cs7390_98_winter/reports/realsys/seesoft.html  
© Copyright InfoVis.net 2000-2018