Techopedia Explica el Análisis de Código Fuente
El análisis de código fuente es básicamente depuración de código automatizada. El objetivo es encontrar errores y fallos que pueden no ser obvios para un programador. Está destinado a encontrar fallas como posibles desbordamientos de búfer o uso desordenado de punteros y mal uso de funciones de recolección de basura, todo lo cual puede ser explotable por un hacker.
Los analizadores de código funcionan utilizando reglas que le indican qué buscar. Con muy poca precisión, un analizador puede arrojar demasiados falsos positivos e inundar al usuario con advertencias inútiles, mientras que demasiada precisión puede tardar demasiado en terminarse; por lo tanto, tiene que ser un equilibrio.
Hay dos tipos de analizadores:
- Interprocedimiento: Detecta patrones de una función a la siguiente, y estos patrones se correlacionan para que el analizador pueda crear un modelo y simular rutas de ejecución.
- Intraprocedural: Se centra en la coincidencia de patrones y depende de qué tipo de patrones esté buscando el usuario.
Los analizadores interprocedentes son más modernos y complejos. Buenos ejemplos de esto son Coverity, Fortify y el prefijo de herramienta centralizado de Microsoft.