En informática , el análisis de flujo de control ( CFA ) es una técnica de análisis de código estático para determinar el flujo de control de un programa. El flujo de control se expresa como un gráfico de flujo de control (CFG). Para ambos lenguajes funcionales de programación y los lenguajes de programación orientados a objetos , el término CFA, y elaboraciones como k -CFA, consulte algoritmos específicos que el flujo de control de cálculo. [ dudoso ]
Para muchos lenguajes de programación imperativos , el flujo de control de un programa es explícito en el código fuente de un programa. [ dudoso ] Como resultado, el análisis de flujo de control interprocedimiento usualmente se refiere implícitamente a una técnica de análisis estático para determinar el receptor o receptores de llamadas a funciones o métodos en programas de computadora escritos en un lenguaje de programación de orden superior . [ dudoso ] Por ejemplo, en un lenguaje de programación con funciones de orden superior como Scheme , el destino de una llamada de función puede no ser explícito: en la expresión aislada
( lambda ( f ) ( f x ))
no está claro a qué procedimiento f
puede referirse. Un análisis de flujo de control debe considerar dónde podría invocarse esta expresión y qué argumento puede recibir para determinar los posibles objetivos.
Se pueden utilizar técnicas como la interpretación abstracta , la resolución de restricciones y los sistemas de tipos para el análisis de flujo de control. [1] [ página necesaria ]
Ver también
Referencias
- ^ Nielson, Flemming; Nielson, Hanne Riis; Hankin, Chris (2005). Principios del análisis de programas . Springer Science + Business Media .