En informática , en particular en la construcción de compiladores , el análisis de rango de valores es un tipo de análisis de flujo de datos que rastrea el rango (intervalo) de valores que una variable numérica puede asumir en cada punto de la ejecución de un programa. [1] La información resultante se puede utilizar en optimizaciones como eliminación de redundancia, eliminación de código muerto , selección de instrucciones, etc., pero también se puede utilizar para mejorar la seguridad de los programas, por ejemplo, en la detección de sobrecargas de búfer . [2] Las técnicas para el análisis de rango de valores suelen utilizar ampliamente el análisis simbólico . [3]
El análisis de rango de valores se implementa a menudo en el compilador Intel C ++ y se implementará en GCC . [ cita requerida ]
Referencias
- ^ Harrison, William H. (1977). "Análisis del compilador de los rangos de valores de las variables". Transacciones IEEE sobre ingeniería de software . 3 (3): 243–250. doi : 10.1109 / TSE.1977.231133 .
- ^ Wagner, D .; Foster, JS; Brewer, EA; Aiken, A. (2000). Un primer paso hacia la detección automatizada de vulnerabilidades de saturación del búfer . NDSS.
- ^ Birch, Johnnie; van Engelen, Robert; Gallivan, Kyle. "Análisis de rango de valores de variables y punteros actualizados condicionalmente" (PDF) .