You are on page 1of 47

CodePro Analytix

Cristian Snchez scar Valera Carles Martnez scar Moreta

Instalacin

Se puede instalar directamente desde Eclipse. En el men vamos a: Help > Install New Software

En la siguiente pantalla se indica el nombre que le queremos dar y la URL del repositorio (nos la proporciona el propio Google): http://dl.google.com/eclipse/inst/codepro/latest/3.6

Instalacin

Instalacin

Vamos aceptando las siguientes pantallas y se instalar automticamente.

CodePro

Qu es?

CodePro Analytix es un conjunto de herramientas de apoyo al desarrollador 100% integrada en Eclipse.

CodePro

Para qu sirve?
CodePro Analytix incorpora los siguientes mdulos: Code Analysis. JUnit Test Generator / JUnit Test Editor. Similar Code Analysis. Metrics. Code Coverage. Dependecy Analysis. Dead Code Analysis.

Code Analysis

Code Analysis Herramienta dinmica y modular, que detecta, reporta y repara las desviaciones o el incumplimiento de los estndares de codificacin predefinidos, frameworks populares, la seguridad y las convenciones de estilo.

JUnit

JUnit Test Generator / Test Editor


JUnit Test Generator y JUnit Test Editor, son utilidades indicadas para la generacin de clases de prueba JUnit.

Para qu sirve?
JUnit Test Generator genera automticamente clases JUnit a partir de nuestras clases, bien sea a nivel de proyecto, o a nivel de clase. JUnit Test Editor es una herramienta que permite crear de forma amigable nuevos conjuntos de pruebas, a partir de la clase de prueba generada por JUnit Test Generator.

Similar Code Analysis

Similar Code Analysis


Similar Code es una herramienta indicada para realizar bsquedas de cdigo, ya sea para consulta o reutilizacin. Permite localizar copias o partes de cdigo similar, que han sido manipulados o renombrados.

Metrics

Metrics
El concepto de mtrica es el termino que describe muchos y muy variados casos de medicin. Siendo una mtrica una medida estadstica (no cuantitativa como en otras disciplinas ejemplo fsica) que se aplica a todos los aspectos de calidad de software, los cuales deben ser medidos desde diferentes puntos de vista como el anlisis, construccin, funcional, documentacin, mtodos, proceso, usuario, entre otros. CodePro Analityx nos ofrece herramientas automatizadas para medir e informar sobre los indicadores clave en un cuerpo de cdigo fuente Java.

Code Coverage

Code Coverage
Estas herramientas proporcionadas por CodePro Analytix permiten medir qu cantidad del cdigo est siendo ejecutado. Probablemente la razn mas habitual para medir la cobertura de cdigo es evaluar la eficacia del cdigo de prueba, probando todos los caminos posibles a travs del cdigo.

Las herramientas de Code Coverage estn basadas en el Proyecto EMMA.

Dependency Analysys

Dependecy Analysis
Dependency Analyzer permite el anlisis de dependencias mediante esta herramienta facilita la comprensin de las relaciones entre los diferentes packages, classes y interfaces. La herramienta proporciona una importante ayuda para la reutilizacin de cdigos existentes, ya que permite detectar posibles efectos derivados de los cambios en las diferentes unidades del proyecto.

Dead Code Analysis

Dead Code Analysys


Dead Code Analysis permite la bsqueda de cdigo muerto, que puede ser de dos tipos: a) cdigo no referenciado desde ningn otro lugar del programa y que no ser ejecutado b) cdigo que ser ejecutado pero que no tiene ningn efecto sobre el programa

Code Analysis Audit code

Audit Code

Modos de uso
Manual (Code Audit) Auditar un proyecto, package o archivo cuando se lo indiquemos mediante en el men contextual. Dinmico (Dynamically Auditing) Automticamente audita cada archivo que se abre.

Audit Code

Configuracin
Se configura igual que cualquier otro plug-in de Eclipse: En la barra de mens, seleccionamos: Window > Preferences > CodePro > Audit

Audit Code

Configuracin
En estas pestaas se puede escoger el modo de funcionamiento Manual/Dinmico y configurar los juegos de reglas a utilizar y el nivel de severidad.

Audit Code

Uso
CodePro nos indica mediante banderas de colores las lneas donde encuentra problemas en la misma barra donde Eclipse nos indica los warnings y errores de compilacin. Hay 3 colores de banderas, azul, amarillo y rojo segn el nivel de severidad (configurable). Poniendo el ratn sobre la bandera, obtenemos la descripcin del problema.

Haciendo click izquierdo sobre la bandera se obtiene una lista de sugerencias y de posibles acciones.
Estas acciones pueden ser tan simples como omitir la lnea o tan potentes como modificar nuestro cdigo o generar el Javadoc automticamente.

Audit Code

Ejemplos
Para uso manual se puede escoger auditar con los juegos de normas reglas previamente configuradas o elegir las normas concretas que se quieren aplicar en ese momento.

Audit Code

Ejemplos

Audit Code

Ejemplos

Audit Code

Ejemplos

(Tambin se puede acceder a la generacin de Javadoc mediante el men contextual sobre el archivo, package o proyecto)

Audit Code

Ejemplos

Audit Code

Ejemplos

Al guardar se aplican los cambios propuestos

JUnit Test Generator JUnit Test Editor

Junit Test

Este modulo genera clases de test de forma automtica. Para ejecutarlo: Seleccionar en el Package Explorer la clase sobre la que queremos generar los JUnit Test, pulsamos el botn de la derecha del ratn, aparece un men desplegable, localizamos la opcin CodePro Tools y en el siguiente men desplegable, seleccionamos la opcin Generate Test Cases.

Junit Test

CodePro Crea un nuevo proyecto

Aqu vemos el cdigo fuente de la clase de pruebas

Esta vista es del JUnit Test Editor, esta utilidad nos permite cambiar los valores de los atributos de la clase y los resultados esperados en sus mtodos

Junit Test

Para ejecutar las pruebas, desde el men seleccionamos la opcin Run As, y aparece una caja de dilogo preguntando como queremos realizar la ejecucin. Seleccionamos JUnit Test

Junit Test

Una vez ejecutada la prueba, aparece un report con el resultado de estas pruebas

En el JUnit Test Editor, tambin aparece como ha ido la ejecucin.

Junit Test
En caso que la ejecucin sea incorrecta, podemos comprobar tanto en la pestaa JUnit del Package Explorer, como en el JUnit Test Editor, como se enciende de color rojo.

Aqu vemos el mtodo que ha dado un error

Aqu vemos como hay un resultado inesperado

Similar Code Check Spelling

Similar Code

Similar Code es una buena herramienta para realizar bsquedas de cdigo, ya sea para consulta o reutilizacin. Permite localizar copias o partes de cdigo similar, que han sido manipulados o renombrados. Una vez realitzada la bsqueda se puede comparar el cdigo de las dos fuentes; en 2 ventanas se identifican con colores, las coincidencias(color verde), modificaciones (color amarillo) y diferencias presentadas(color rojo).

Check Spelling

Check Spelling es una herramienta integrada en el CodePro Audit que se encarga de analizar, a partir de un diccionario determinado, la totalidad del cdigo incluidos comentarios, con la finalidad de localizar palabras errneas o mal escritas. Limitaciones: Es necesario un diccionario y un mantenimiento del mismo para sacarle partido a la herramienta

Dependency Analyzer

Dependency Analyzer

Dependency Analyzer permite el anlisis de dependencias mediante esta herramienta facilita la comprensin de las relaciones entre los diferentes packages, classes y interfaces.

La herramienta proporciona una importante ayuda para la reutilizacin de cdigos existentes, ya que permite detectar posibles efectos derivados de los cambios en las diferentes unidades del proyecto.

Dead Code Analysis

Dead Code Analysis

Dead Code Analysis permite la bsqueda de cdigo muerto, que puede ser de dos tipos: a) cdigo no referenciado desde ningn otro lugar del programa y que no ser ejecutado b) cdigo que ser ejecutado pero que no tiene ningn efecto sobre el programa Ejemplo: int f (int x, int y) { return x+y; int z=x*y; } Limitaciones: Este anlisis puede dar lugar a falsos resultados en casos como: partes del programa llamados desde fuera del mbito analizado condicionantes muy especficos que no son reconocidos por el analizador y que son Ejemplo: if (b) { a=false; b=false;} clasificados como cdigo muerto. if (!b) { a=false;} if (a) { boo();}

Metrics

Metrics

Metrics
Para acceder a Metrics, basta seleccionar el archivo .java que queremos medir, y seleccionamos la opcin Compute Metrics del submen CodePro. Aparecern los resultados en una nueva pestaa junto a la ventana de la cnsola.

Metrics

Metrics
La informacin que nos ofrece Metrics es una estadstica de nmero de lneas de cdigo, cuantas clases hay, cuantos mtodos, as como medidas de todo este tipo de informacin.

Code Coverage

Code Coverage

Code Coverage
Hay dos mecanismos diferentes. Decidir cul es el adecuado para nuestras necesidades depende principalmente de la complejidad del cdigo en ejecucin. El primero est diseado para su uso con aplicaciones Java independientes que se ejecutan en una mquina virtual nica y no hacer uso de cargadores de clases especializadas. El segundo mecanismo est diseado para aplicaciones arbitrarias, pero puede requerir un poco ms de trabajo para conseguir que en un primer momento, una vez ms dependiendo de lo complejo que sea el cdigo.

Code Coverage

Code Coverage
Para ver la cobertura del cdigo, seleccionamos una clase y ejecutamos la opcin Run Code Coverage del submen de CodePro Tools.

Code Coverage

Code Coverage

Code Coverage

Code Coverage

Code Coverage

Code Coverage
Limitaciones

Nos hemos encontrado con que hay clases que no analiza, sin saber muy bien el por qu.

Limitaciones

Limitaciones

Es una herramienta muy potente y amplia, con una curva de aprendizaje media/elevada.

Conclusin

Conclusin

Es una herramienta modular, que adems de realizar un anlisis esttico del cdigo, incluye mdulos independientes para realizar entornos de prueba mediante JUnit, Anlisis del cdigo muerto, estadsticas de cobertura de pruebas y mtricas.

You might also like