Análise de fluxo de controle - Control flow analysis

Na ciência da computação , a análise de fluxo de controle ( CFA ) é uma técnica de análise de código estático para determinar o fluxo de controle de um programa. O fluxo de controle é expresso como um gráfico de fluxo de controle (CFG). Para ambas as linguagens de programação funcionais e linguagens de programação orientada para o objecto , o termo CFA, e as elaborações tais como k -CFA, referem-se a algoritmos específicos que o fluxo de controlo de computação.

Para muitas linguagens de programação imperativas , o fluxo de controle de um programa é explícito no código-fonte do programa. Como resultado, a análise de fluxo de controle interprocedural implicitamente geralmente se refere a uma técnica de análise estática para determinar o (s) receptor (es) de chamadas de função ou método em programas de computador escritos em uma linguagem de programação de ordem superior . Por exemplo, em uma linguagem de programação com funções de ordem superior como Scheme , o destino de uma chamada de função pode não ser explícito: na expressão isolada

(lambda (f) (f x))

não está claro a qual procedimento f pode se referir. Uma análise de fluxo de controle deve considerar onde esta expressão pode ser invocada e que argumento pode receber para determinar os alvos possíveis.

Técnicas como interpretação abstrata , resolução de restrições e sistemas de tipos podem ser usados ​​para análise de fluxo de controle.

Veja também

Referências

links externos