Estadística

Estadística es, junto al Proyecto Fin de Carrera, la única asignatura que me queda ahora para terminar Ingeniería Técnica en Informática de Gestión.

La estadística se me ha quedado atrancada desde hace ya tres años, y aún recuerdo unas palabras de mi profesora la primera vez que la cursé. “Me basta con que gracias a lo que aprendáis no os engañen los medios de comunicación con sus datos y sus gráficas.”

Hoy me he dado cuenta de que, aunque aún no he aprobado la asignatura, la Sra. Mª Dolores Jiménez Gamero me enseñó bastante. Hoy Mark Shuttleworth nos habla de cómo LaunchPad ha ayudado al proyecto Inkscape a reducir el número de bugs. Nos vende como LaunchPad (pese a no ser opensource) ayuda a gestionar mejor los bugs. No digo que sea mentira, pero…

En estas estadísticas aparecen ciertas curiosidades que pueden confundir al lector que lea en diagonal… Veamos a continuación alguna:

  • La representación gráfica no es adecuada. El eje de abscisas empieza en 400, no en 0. Esto de un vistazo nos puede inducir a pensar que Inkscape está libre de bugs. Ojalá.
  • La toma de datos no se ha hecho correctamente. O más bien, la gráfica no representa lo que el texto dice que hace. Mark ha tomado los bugs marcados como new cuando debería haber tomado aquellos marcados como open.

Puedes ver tú mismo estas gráficas aquí.

No me gustan las manipulaciones, vayan para el bando al que vayan. No me gustan los radicales.
Por último, sólo me queda hacer una pregunta… ¿Mª Dolores, me aprueba? 😉

FindBugs

Las herramientas de análisis estático de código permiten encontrar fallos potenciales mediante búsquedas de patrones en el código.

La pionera en esto del análisis estático fue Lint, una herramienta que apareció en 1979 y estaba incluía en el propio compilador. Desde entonces Lint es usado como nombre genérico de este tipo de herramientas.

Puedes ver una lista de herramientas de análisis estático para distintas plataformas en la Wikipedia.

Había utilizado FxCop en el trabajo, y le eché un vistazo a JSLint con OpenLayers. Pero nunca me había parado a buscar una herramienta similar para aplicaciones Java.

Pues bien, recientemente encontré FindBugs. Y por supuesto, la he probado con ArgoUML.
FindBugs Logo

FindBugs es una herramienta opensource desarrollada por la Universidad de Maryland. Desarrollada en Java, tiene una interfaz simple pero efectiva.

Seleccionamos donde están nuestros jar y el código asociado y se pone a analizar el código (puede tardar un ratillo).

Create project

Nos muestra un árbol con los errores clasificados por categorías, mostrando para cada uno el código donde aparece y cómo debería mejorarse.

Analisis de Código

Gracias a esta herramienta se puede incrementar el rendimiento de una aplicación además de eliminar bugs potenciales. En las próximas semanas trabajaré en eliminar estos fallos en ArgoUML.

PD: Esto es posible porque desde ayer tengo permisos de escritura en todo el repositorio 🙂