En el Blog hemos hablado en numerosas ocasiones sobre herramientas de análisis estático de código, desde PMD, Checkstyle, Hammurapi,…
Pero y de las herramientas de análisis dinámico.
El Análisis estático se basa en recopilar información basada en código fuente y el análisis dinámico se basan en la ejecución del sistema (a menudo utilizando instrumentación).
El análisis dinámico ofrece ciertas ventajas, es capaz de detectar las dependencias que no es posible en el análisis estático, recopilar información temporal, … aunque por el contrario no puede garantizar la cobertura completa del código fuentes.
En el mundo Java existen algunas herramientas para el análisis dinámico de código (aunque no he encontrado ninguna opensource convincente)… veamos algunas de estas herramientas:
· Ayuda a diagnosticar problemas instrumentando el código Java.
· Permite monitorizar la aplicación en producción pero también ayudarnos a detectar problemas en nuestra aplicación de calidad y rendimiento
· Permite medir la cobertura de nuestros Tests instrumentando el código
· Ofrece un plugin de Eclipse:
Que nos permite detectar que parte del código no se prueba haciendo mutaciones sobre nuestro código:
BACTERIO Mutation Test System:
· es una completa herramienta de análisis dinámico para Java basada en la técnica de mutación
· La mutación es un técnica de pruebas que se basa en la capacidad de los casos de prueba para encontrar fallos en el sistema que se está probando.
· Esta herramienta permite crear mutaciones de nuestros tests para comprobar la efectividad de nuestros tests.
· Genera informes HTML que combinan cobertura, falta de cobertura y cobertura mutaciones
· Permite hacer análisis estático y dinámico
· No apto para los que buscamos una herramienta con botoncitos que te lo haga todo, y si no mirad su guía de usuario: http://pag.cc.gatech.edu/chord/user_guide/index.html
En resumen que si queremos hacer análisis dinámico de nuestro código tocará rascarse el bolsillo :).






Deja un comentario