Está en la página 1de 9

FindBugs ™ - Buscar errores en programas

Java

Es un programa que utiliza análisis estático para buscar errores en el código


Java. Es un software libre, distribuido bajo los términos de la Licencia Pública
Lesser GNU . El nombre FindBugs ™ y el logotipo FindBugs son marcas
registradas de la Universidad de Maryland . FindBugs se ha descargado más de
un millón de veces.

La versión actual de FindBugs es 3.0.1.

FindBugs requiere JRE (o JDK) 1.7.0 o posterior para ejecutarse. Sin embargo,
puede analizar programas compilados para cualquier versión de Java, desde 1.0 a
1.8.

La versión actual de FindBugs es 3.0.1, lanzada el 13:05:33 EST, 06 de marzo de


2015. Estamos muy interesados en recibir comentarios sobre cómo mejorar
FindBugs . Archivo de informes de errores en nuestro rastreador de errores de
sourceforge

Versión FindBugs 3.0.1

 Una serie de cambios descritos en el documento de cambios , incluidos


nuevos patrones de errores:
o BSHIFT_WRONG_ADD_PRIORITY ,
o CO_COMPARETO_INCORRECT_FLOATING ,
o DC_PARTIALLY_CONSTRUCTED ,
o DM_BOXED_PRIMITIVE_FOR_COMPARE ,
o DM_INVALID_MIN_MAX ,
o ME_MUTABLE_ENUM_FIELD ,
o ME_ENUM_FIELD_SETTER ,
o MS_MUTABLE_COLLECTION ,
o MS_MUTABLE_COLLECTION_PKGPROTECT ,
o RANGE_ARRAY_INDEX ,
o RANGE_ARRAY_OFFSET ,
o RANGE_ARRAY_LENGTH ,
o RANGE_STRING_INDEX ,
o RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT ,
o UC_USELESS_CONDITION ,
o UC_USELESS_CONDITION_TYPE ,
o UC_USELESS_OBJECT ,
o UC_USELESS_OBJECT_STACK ,
o UC_USELESS_VOID_METHOD
Experiencia con FindBugs
Google FindBugs Fixit: Google tiene una tradición
de reparaciones de ingeniería , días especiales en los que intentan que todos sus
ingenieros se centren en algún problema o técnica específica para mejorar los
sistemas en Google. Una reparación podría funcionar para mejorar la accesibilidad
web, las pruebas internas, eliminar TODO del software interno, etc.

En 2009, Google realizó una reparación global para la herramienta FindBugs de


UMD, una herramienta de análisis estático para encontrar errores de codificación
en el software Java. El objetivo de la reparación fue obtener comentarios sobre los
4,000 problemas de mayor confianza encontrados por FindBugs en Google, y
dejar que los ingenieros de Google decidan qué problemas, si alguno, necesita
solución.
FxCop
FxCop es una aplicación que analiza los ensamblados de código
administrado (código que se dirige al tiempo de ejecución del
lenguaje común de .NET Framework) e informa información sobre los
ensamblajes, como posibles mejoras de diseño, localización, rendimiento y
seguridad. Muchos de los problemas se refieren a violaciones de las reglas de
programación y diseño establecidas en las Pautas de diseño para desarrolladores
de bibliotecas de clases, que son las pautas de Microsoft para escribir código
robusto y fácil de mantener utilizando .NET Framework.

FxCop está destinado a desarrolladores de bibliotecas de clases. Sin embargo,


cualquier persona que cree aplicaciones que deben cumplir con las mejores
prácticas de .NET Framework se beneficiará. FxCop también es útil como
herramienta educativa para las personas que son nuevas en .NET Framework o
que no están familiarizadas con las Directrices de diseño de .NET Framework.

FxCop está diseñado para integrarse completamente en el ciclo de desarrollo de


software y se distribuye como una aplicación con todas las funciones que tiene
una interfaz gráfica de usuario (FxCop.exe) para el trabajo interactivo y una
herramienta de línea de comandos (FxCopCmd.exe) adecuada para su uso como
parte de procesos de compilación automatizados o integrados con Microsoft Visual
Studio® .NET como herramienta externa.

Los analizadores FxCop se basan en la plataforma del compilador .NET


("Roslyn"). Los instala como un paquete NuGet al que hace referencia el proyecto
o la solución. Los analizadores FxCop ejecutan análisis basados en código fuente
durante la ejecución del compilador. Los analizadores FxCop se alojan en el
proceso del compilador, csc.exe o vbc.exe, y ejecutan el análisis cuando se
construye el proyecto. Los resultados del analizador se informan junto con los
resultados del compilador.
Checkstyle
Checkstyle es una herramienta de desarrollo para ayudar a los programadores a
escribir código Java que cumpla con un estándar de codificación. Automatiza el
proceso de verificación del código Java para evitar que los humanos realicen esta
tarea aburrida (pero importante). Esto lo hace ideal para proyectos que desean
aplicar un estándar de codificación.

Checkstyle es altamente configurable y se puede hacer para admitir casi cualquier


estándar de codificación. Se proporcionan un ejemplo de archivos de
configuración que admiten las Convenciones del Código de Sun, Google Java
Style.

Checkstyle puede verificar muchos aspectos de su código fuente. Puede encontrar


problemas de diseño de clase, problemas de diseño de métodos. También tiene la
capacidad de verificar el diseño del código y los problemas de formato.
Cheques Estándar
Las verificaciones de estilo de verificación estándar son aplicables al estilo de
codificación general de Java y no requieren bibliotecas externas. Las
verificaciones estándar están incluidas en la distribución base.

El menú de navegación del sitio le permite examinar las comprobaciones


individuales por funcionalidad.

Checkstyle proporciona muchas comprobaciones que puede aplicar a su código


fuente. A continuación se muestra una referencia alfabética, el menú de
navegación del sitio proporciona una referencia organizada por funcionalidad.

A continuación se presentan algunos cheques que realiza checkstyle:

Checkstyle tiene plugins que permiten que sea usado desde cualquier IDE, como Eclipse
(http://eclipse-cs.sourceforge.net/), resaltando sobre el código los errores encontrados por el
analizador.
StyleCop

StyleCop analiza el código fuente de C # para aplicar un conjunto de reglas de


estilo y coherencia. Está disponible en dos formas principales:

1. La extensión StyleCop Visual Studio, que permite ejecutar el análisis


StyleCop en cualquier archivo, proyecto o solución en Visual Studio sin
modificar el código fuente. Visual Studio 2010, 2012, 2013, 2015 y 2017 son
compatibles con esta extensión.
2. El paquete StyleCop.MSBuild NuGet, que permite agregar el análisis
StyleCop a cualquier proyecto .NET 4.0+ sin instalar nada más en el
sistema.

También hay un complemento ReSharper que se puede agregar usando el


Administrador de extensiones de ReSharper.

Se lanza StyleCop 4.3


La esperada actualización de StyleCop 4.3 ya está disponible. Esta actualización
incluye:

 Varias correcciones de errores, incluidas correcciones para problemas de


integración de VS
 La documentación de reglas se incluye e integra en VS "Mostrar Ayuda de
Error"
 Nuevas reglas (más detalles a continuación)
 Cambio de marca de Source Analysis a StyleCop

Según lo prometido, también publicaremos la documentación del SDK para


StyleCop que explica cómo crear reglas personalizadas y cómo integrar la
herramienta en entornos de compilación personalizados. La documentación del
SDK se encuentra actualmente en revisión final y esperamos publicarla muy
pronto.

Las nuevas reglas de envío con StyleCop 4.3 incluyen:

· Aplicar orden de clasificación para usar directivas. Esto se alinea con la


funcionalidad Organizar usos en VS 2008

· Requerir texto de resumen estándar para constructores y destructores

· Requerir paréntesis en expresiones aritméticas y de comparación para


mayor claridad

· Requiere String.Empty en lugar de ""

· Requerir texto de mensaje de explicación en afirmaciones de depuración

· Requerir texto de justificación en supresiones de análisis de código

· Aplicar el uso de alias de tipo incorporado para int, string, float, etc.

· Requerir una línea en blanco entre elementos

· No permitir líneas en blanco en la parte superior o inferior de los


encabezados de documentación

· No permitir regiones dentro de cuerpos de métodos (habilitado por


defecto)

· No permitir el uso de regiones en cualquier parte del código


(deshabilitado de forma predeterminada)

· No permitir constructores estáticos vacíos.

· No permitir declaraciones vacías inseguras, bloqueadas, marcadas y no


marcadas

· No permitir try \ catch \ innecesario o vacío finalmente


Referencias:

 JavaNCSS : https://eprints.ucm.es/11487/1/Proyecto_Fin_de_M%C3%A1ster.pdf
 PMD: http://mundogeek.net/archivos/2009/03/08/mejora-tu-codigo-java-con-pmd/
 Codacy:https://programacion.net/noticia/codacy_una_herramienta_que_te_ayuda_
a_hacer_mas_entendible_el_codigo_de_tus_aplicaciones_2148
 FindBugs: http://findbugs.sourceforge.net/
 Fxcop:https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-
3.0/bb429476(v=vs.80)?redirectedfrom=MSDN
 CheckStyle:
 https://checkstyle.sourceforge.io/
 https://checkstyle.sourceforge.io/checks.html
 StyleCop:
 https://github.com/StyleCop/StyleCop
 https://blogs.msdn.microsoft.com/sourceanalysis/2008/08/19/stylecop-4-
3-is-released/
 ANT:
 http://ant.apache.org
 https://prezi.com/61qco6njb-rb/jdepend/
 https://iie.fing.edu.uy/~vagonbar/gcc-make/make.htm
 https://www.dlsi.ua.es/assignatures/p2/downloads/1314/teoria/es/t5-
tools+makefile-es-ver.pdf
 https://es.slideshare.net/ikercanarias/breve-introduccin-a-apache-ant
 https://ant.apache.org/faq.html#history

 CruiseControl: http://cruisecontrol.sourceforge.net/overview.html

También podría gustarte