CodePro Analytix
-
Upload
areaderuser -
Category
Documents
-
view
346 -
download
5
Transcript of CodePro Analytix
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 EditorJUnit 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 AnalysisSimilar 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
MetricsEl 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 CoverageEstas 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 AnalysisDependency 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 AnalysysDead 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 TestEn 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
MetricsPara 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
MetricsLa 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 CoverageHay 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 CoveragePara 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 CoverageLimitaciones
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.