El análisis de flujo de control es un análisis de código estático para determinar el orden en que se ejecuta un programa . El orden de ejecución se expresa como un gráfico de flujo de control .
Para muchos idiomas, el gráfico de flujo de control es claramente visible en el código fuente del programa. Como resultado, el análisis de flujo de control generalmente se refiere al análisis de código estático. Durante el análisis se determinan los receptores de funciones y métodos llamados por programas escritos en lenguajes de alto nivel . Tanto para los lenguajes de programación funcional como para los lenguajes de programación orientados a objetos, el término "Análisis de flujo de control" significa un algoritmo que genera un gráfico de flujo de control .
El término análisis de flujo de control fue utilizado por primera vez por Neil D. Jones [1] y Olin Shivers [2] .
Para el análisis del flujo de control se puede utilizar: Interpretación abstracta , Satisfacción de restricciones , Tipificación de datos .