Analiza los problemas de código Java y busca posibles bugs

Hace unos días tuve que realizar una auditoría al código de una aplicación. No era mucho, solo unas 1600 líneas que se querían estudiar para comprobar la calidad de la programación y si era posible optimizado y eliminar los bugs que pudiera tener.

Para ello hay herramientas muy buenas que se encargan de realizar el análisis del bytecode de la aplicación. Una de esas herramientas es FindBugs.

Findbugs es un analizador de código estático en lenguaje Java que permite, una vez compilada la aplicación, analizar el código atendiendo a un gran numero de patrones que son susceptibles de provocar un error en tiempo de ejecución. Es posible utilizarlo como un plugin para los IDEs mas conocidos (IntelliJ, Eclipse) o como aplicación independiente.

Una vez lanzado el analizador, el resultado se presenta categorizado en diferentes tipos de bugs posibles.

· Bad practice Warnings: código que no cumple con las prácticas de programación recomendadas.

· Correctness Warnings: código que puede mostrar un resultado diferente al que el programador esperaba.

· Experimental Warnings: código que puede no realizar la limpieza de streams, objetos de base de datos u otros objetos que requieren de operaciones de limpieza.

· Internationalization Warnings: código que puede inhibir el uso de caracteres internacionales.

· Malicious code vulnerability Warnings: código que puede ser alterado maliciosamente por otro código.

· Multithreaded correctness Warnings: código que puede causar problemas en entornos multi-hilo.

· Performance Warnings: código que se puede escribir de otra manera para incrementar el rendimiento.

· Security Warnings: código que puede causar problemas de seguridad.

· Dodgy code Warnings: código que puede llevar a errores.

En cada una de estas advertencias nos indica en que linea de código se ha encontrado y una descripción de la razón por la que se ha advertido de la presencia de un posible bug. Ademas, para algunas de las advertencias presenta código de sustitución para eliminar el problema.

En la siguiente imagen se puede ver el resultado de uno de los análisis realizados.

AnalisisWSI

Este análisis es posible exportarlo a un documento HTML o XML donde nos presenta un resumen del análisis realizado y a continuación, dividido por categorías, todos los problemas que se han encontrado junto con su línea y clase.
Es una herramienta totalmente recomendable, no solo para conocer los errores que puede tener el código de una aplicación, sino también para comprender de mejor manera el funcionamiento de java y las traducciones que realiza el compilador para las diferentes funciones realizables sobre el código.

La mejor forma de aprender un lenguaje de programación, y sobre todo aprender a utilizarlo bien, es viendo código de otras personas y analizando vuestros propias aplicaciones. Así que os invito a que utilicéis la herramienta para analizar algún desarrollo que hayáis realizado y escribáis en los comentarios lo que habéis aprendido tras el análisis.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s