aaaa
Análisis Estático del Código ?
por
Raúl Expósito
Imagen: http://www.flickr.com/photos/scott_waterman/178367110/
¿Qué es el Análisis Estático del Código?
Índice
¿Qué contiene este documento?
03
Sobre el autor
03
Sobre la licencia
03
Teoría acerca del Análisis Estático del Código
04
¿Qué tipos de análisis estático del código existen?
06¿Cuándo debemos hacer estos análisis?
06
Actividades complementarias al análisis estático del código
09
Limitaciones del análisis estático del código
09
Conclusiones
10
Análisis Estático del Código en Java
12
PMD
13
CPD
14
Checkstyle
15
Findbugs
16
Otras herramientas
16
Análisis Estático del Código en Groovy
18
Codenarc
18
Página 2de 19
¿Qué es el Análisis Estático del Código?
¿Qué contiene este documento?
El texto que vas a poder leer a continuación explica en qué consiste la
técnica del análisis estático del código, la cual tiene como objetivo
mejorar la calidad del código fuente del software.
Te encuentras ante un documento de carácter técnico que no entra en
demasiado detalle para conseguir que cualquierpersona pueda leerlo,
aunque inevitablemente aparecerán algunos términos y vocablos propios de
la jerga informática que se explicarán de una manera sencilla según
aparezcan.
Como complemento a la teoría acerca de qué es y en qué consiste el
análisis estático del código se presentarán varias herramientas para dos
lenguajes de programación en particular: java y groovy. De este modo lo
que sepretende es que se entienda mejor cuál es el alcance de esta técnica.
La maquetación de este documento está inspirada en la fantástica
maquetación del documento "Eres Productivo. Vol 1" de Berto Pena,
mientras que los iconos son propiedad de Mark James:
http://albertopena.com/descargas/
http://www.famfamfam.com/
Sobre el autor
Raúl Expósito es un ingeniero en informática residente en Getafe(Madrid) a
quien le gusta materializar ideas, la creatividad, el diseño, el cuidado de los
detalles y la simplicidad, definiéndose por tanto como una persona con
vocación técnica pero a la vez creativa y con inquietudes.
Podéis encontrarle en su página web:
http://raulexposito.com/
Sobre la licencia
Este documento se publica bajo la licencia Creative Commons 3.0 de
Reconocimiento-Nocomercial-Sin obras derivadas, lo que significa que
puedes realizar y distribuir copias siempre que:
•
•
•
reconozcas la autoría de estos textos,
no haya un beneficio comercial en tu distribución de las copias y
no modifiques el contenido.
Página 3 de 19
¿Qué es el Análisis Estático del Código?
Teoría acerca del Análisis Estático del Código
Imaginemos que somos miembros de unequipo de desarrollo. Nos
encontramos creando cierto software y en un momento determinado nos
planteamos analizar estáticamente el código. ¿A qué nos referimos con
esto?, ¿qué vamos a hacer exactamente?, ¿en qué consiste esta tarea?. Es
posible que la definición más breve y concisa de la técnica que vamos a
utilizar sea la siguiente:
"El análisis estático del código es
el proceso de evaluarel software
sin ejecutarlo"
Página 4 de 19
¿Qué es el Análisis Estático del Código?
Es, por tanto, una técnica que se aplica directamente sobre el código
fuente tal cual, sin transformaciones previas ni cambios de ningún tipo. La
idea es que, en base a ese código fuente, podamos obtener información que
nos permita mejorar la base de código manteniendo la semántica
original.
Elanalizador estático de código, para ello, recibirá el código fuente de
nuestro programa, lo procesará intentando averiguar qué es lo que
queremos que haga y nos dará sugerencias con las que poder mejorar
ese código.
Pero, ¿cómo hace esto?, ¿qué hace para "saber" qué es lo que queremos
hacer y qué podemos hacer para mejorarlo?. Estas herramientas incluyen,
por un lado, analizadores léxicos...
Regístrate para leer el documento completo.