Findbugs: una aplicación para encontrar bugs potenciales en Java
alfredo publicó esto el 10/09/09 en Herramientas, Java, Lenguajes de Programación, Open Source. 2 comentarios
FindBugs es una aplicación desarrollada por la Universidad de Maryland cuyo objetivo es buscar bugs en programas Java. Está basado en el concepto de patrones de bug. Un patrón de bug es un idioma de código que a menudo es un error. Los patrones de bugs aparecen por una variedad de razones:
- Dificultad de algunas características del lenguaje.
- Falta de comprensión de los métodos de la API.
- Errores de variación cuando el código es modificado durante el mantenimiento.
- Una variedad de errores: errores de tipeo, uso incorrecto de los operadores booleanos, etc.
FindBugs usa análisis estático para inspeccionar el bytecode de Java en busca de patrones de bugs. Con análisis estático nos referimos a que puede encontrar errores simplemente inspeccionando el código de un programa: ejecutarlo no es necesario. Esto hace a FindBugs muy fácil de usar. En la práctica, la tasa de falsas advertencias reportadas por FindBugs es menor al 50%.
Instalación y ejecución
La manera más fácil de instalar FindBugs es bajar la distribución binaria que viene empaquetada en forma de archivo tar.gz o zip. FindBugs requiere JRE (or JDK) 1.5.0 o posterior para poder ejecutarse. Sin embargo puede analizar programas compilados en cualquier versión de Java. Un vez que lo bajamos lo descomprimimos de la siguiente manera:
tar -xvf findbugs-1.3.9.tar.gz cd findbugs-1.3.9/ java -jar lib/findbugs.jar
FindBugs clasifica los bugs en las siguientes categorías
- Correcto pero probable bug: un error de codificación aparente resultando en código que probablemente no era lo que el programador tenía en mente.
- Mala Prácticas: violaciones a las prácticas de codificación esenciales y recomendadas, por ejemplo: uso incorrecto del finalize.
- Código Dudoso: esto es código confuso, anómalo, o escrito de una manera que lleva a si mismo a errores, por ejemplo: casts sin confirmar, chequeos de nulos redundantes, etc.
Esto parece estar muy bueno, voy a probarlo en mi proyecto actual.
Publicado el 22 Septiembre 2009 a las 08:59. Permalink.Muchas Gracias por compartirlo.
Thanks for shainrg. What a pleasure to read!
Publicado el 22 Junio 2011 a las 15:36. Permalink.