Para diferenciar ambos tipos de análisis es conveniente dejar claro que el análisis de código es un proceso de revisión de este mediante el que se pretende evaluarlo. Dicha evaluación supone la búsqueda de problemas de funcionamiento del mismo código y pretende mejorar su funcionamiento.
Este análisis se puede realizar de dos maneras: se puede llevar a cabo un análisis dinámico de código o un análisis estático del mismo.
- El análisis estático se hace sin ejecutar el código. Como no necesita de esa ejecución, el análisis estático permite detectar errores en una fase muy temprana de la escritura. Así se ahorra mucho tiempo en fases posteriores del desarrollo. Puede arrojar positivos que no lo son y cuya falsedad solo se verá durante la ejecución del código.
- El análisis dinámico de código se realiza mientras este se está ejecutando. Es más lento y necesita un proceso completo de testeo. Sin embargo, permite ver muchos errores que quedan ocultos en un análisis estático.
Los dos tipos de análisis de código mencionados admiten procesos completos de pruebas. Existen diferentes tipos de ellas especialmente diseñadas para el análisis dinámico de código y para el estático. En este último caso, se recomienda un buen proceso de revisión de la documentación y de mantenimiento de la misma. Sobre todo, para beneficio de los desarrolladores que trabajan en proyectos de gran envergadura. En este tipo de trabajos los cambios están a la orden del día y, sin una documentación adecuada, es imposible mantener una visión general del proyecto.