Análisis de Código: FindBugs

En el contexto en el que nos vamos introduciendo poco a poco y desde un tiempo a esta parte, vamos comprendiendo mejor la forma de hacer las cosas algo mas enfocada a la comunidad. Parches, Licencias, Formatos de código, etc.

En este contexto quiero hablar un poco sobre una herramienta sencilla, que tal vez nos sea de utilidad: FindBugs.

Estaba el otro día moviendome por la comunidad de temas java y entre enlace y enlace, llegué a este lugar: http://findbugs.sourceforge.net . Así conocí FindBugs.

1.-¿Que es findbugs?

FindBugs es un proyecto OpenSource de la universidad de Maryland, que se distribuye bajo licencia GNU Lesser y se encuentra alojado en sourceforge (http://findbugs.sourceforge.net).
Este programa sirve para analizar código implementado bajo la especificación Java (si, código Java :P) y encontrar posibles bugs. De igual forma también es posible que realize búsquedas de bugs en código ya compilado para cualquier versión de Java. En general suele necesitar una versión de Java 1.5 o superior.

2.-¿Que plan?

Bueno, findbugs puede usarse de varias maneras para manejar nuestro código: Puede usarse desde la línea de comandos, bajo su propia interfaz basada en swing, como plugin de Eclipse, como plugin de Nerbeans, desde un script de Ant y bajo Maven.
Como vemos, varias opciones muy interesantes para trabajar con el. Yo, por mi parte, voy a centrarme en el uso vía plugin de Eclipse (que además los javeros somos así de comodones :P ).

3.-A descargar el plugin

Primero he intentado obtenerlo via los sitios de actualización de software para Eclipse. Peeeeeero, las direcciones que se proporcionan no funcionan. En concreto estas:

http://findbugs.cs.umd.edu/eclipse/
http://findbugs.cs.umd.edu/eclipse-candidate/
http://findbugs.cs.umd.edu/eclipse-daily/

y bueno, pues se obtiene una bonita ventana dentro de Eclipse que indica que no hay repositorio de software alguno en esas direcciones :(

Así que vamos a la descarga desde sourceforge y a instalarlo a mano.

http://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plug...

y comienza la descarga automática del material.

4.-Instalar el plugin

Pues nada, simplemente abrir el .zip que se ha descargado y exportar el contenido a la carpeta "plugins" de Eclipse...
Ahora iniciamos (o reiniciamos Eclipse si lo tenemos abierto ya) y vamos a confirmar que el plugin esta detectado por Eclipse. Para ello, vamos a Eclipse -> Help -> About -> Instalation Details -> Plugin (para mi versión de Eclipse).

En esa opción aparece el listado de plugins funcionando en nuestro Eclipse. La lista es normalmente larga, así que vamos a la letra F (este listado va por orden alfabético del nombre del plugin) y buscamos findBugs. Deberiamos encontrar algo así:

Y esta es la señal que tenemos ya el plugin disponible desde Eclipse.

A partir de aqui empieza la experiencia con FindBugs propiamente dicha. :)

5.-Dandole caña al FindBugs

Ahora al pulsar botón derecho sobre cualquier contenido java (puede usarse findBugs en un proyecto, en un paquete java o en un fichero .java individual), aparece una opción para usar FindBug y extraer los bugs del código fuente.

Comienza la operación y al terminar, FindBugs nos ofrece una ventana con el cómputo de resultados y el tipo de este (errores, warnings, etc). Se nos ofrece también una opción de pasar a una vista FindBugs en el mismo Eclipse.

Además marca y especifica el tipo de error en una pestañana propia donde justifica el porqué de ese error.

6.-Opciones de configuración
FindBugs puede configurarse para adaptarse a las características que necesite el programador. Se configura pulsando con el botón derecho sobre un proyecto -> Propiedades -> FindBugs. Puede fijarse el nivel (bajo, medio, alto) de supervisión del código y activar/desactivar los tipos de errores que queremos observar. De igual forma, podemos configurarlo para que se ejecute en cada cambio realizado sobre un fichero java, automatizando su lanzamiento.

7.- +Info

Página del proyecto FindBugs: http://findbugs.sourceforge.net/

Descarga del código: http://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plug...

Manual: http://findbugs.sourceforge.net/manual/

Proyecto en googlecode para tutoriales de FindBugs: http://code.google.com/p/findbugs-tutorials/

Repositorio del código fuente de FindBugs: http://code.google.com/p/findbugs/source/browse/

Ampliando la información para el usuario: http://andrei.gmxhome.de/findbugs/index.html

Nota: Si te suena esta info de algo, tal vez sea porque antes la publiqué aqui: http://davidjguru.wordpress.com

Comentarios

jojeda:

Genial :-)

Me encanta porque me has quitado el trabajo sucio... digo bonito... :-P de configurar cosas en el Eclipse, para el curso de estandarización de código en Java :-)

Me lo apunto como material para el curso ;-)

Juanje

drodriguez:

jajajajajajaja

:*

David Rodríguez Vicente

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.