Tabla de contenido:
- Definición: ¿Qué significa el análisis del código fuente?
- Techopedia explica el análisis del código fuente
Definición: ¿Qué significa el análisis del 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 las funciones, como que los botones tengan un color diferente al que dicen las especificaciones. Se concentra en encontrar fallas en el programa que puedan ser perjudiciales para su función adecuada, como líneas de código que causan fallas.
Techopedia explica el análisis del 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 obvias para un programador. Está destinado a encontrar fallas como posibles desbordamientos del búfer o el uso desordenado de punteros y el mal uso de las funciones de recolección de basura, todo lo cual puede ser explotable por un hacker.
Los analizadores de código trabajan usando 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 ser un equilibrio.
Hay dos tipos de analizadores:
- Interprocedimiento: detecta patrones de una función a la siguiente, y estos patrones están correlacionados para que el analizador pueda crear un modelo y simular rutas de ejecución.
- Intraprocedimiento: se enfoca en la coincidencia de patrones y depende de qué tipo de patrones esté buscando el usuario.
Los analizadores interprocediales son más modernos y más complejos. Buenos ejemplos de esto son Coverity, Fortify y la propia herramienta centralizada PREfix de Microsoft.
