Definición: ¿Qué significa Análisis de código fuente?
El análisis del código fuente es la prueba automatizada del código fuente de un programa con el propósito de encontrar fallas y corregirlas antes de que la aplicación se venda o distribuya.
El análisis de código fuente es sinónimo de análisis de código estático, donde el código fuente se analiza simplemente como código y el programa no se está ejecutando. Esto elimina la necesidad de crear y usar casos de prueba, y puede separarse de errores específicos de funciones, como botones que tienen un color diferente al que dicen las especificaciones. Se concentra en encontrar fallas en el programa que pueden ser perjudiciales para su correcto funcionamiento, como líneas de código que causan fallas.
Techinfo explica el análisis de código fuente
El análisis del código fuente es básicamente una depuración de código automatizada. El objetivo es encontrar errores y fallas 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 explotado por un pirata informático.
Los analizadores de código funcionan con reglas que le dicen 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 terminar; por lo tanto, tiene que haber 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.
- Intraprocedimiento: se centra en la coincidencia de patrones y depende de qué tipo de patrones está buscando el usuario.
Los analizadores interprocedimientos son más modernos y más complejos. Buenos ejemplos de esto son Coverity, Fortify y la herramienta centralizada PREfix de Microsoft.