В информатика, анализ потока управления ( CFA ) - это метод статического анализа кода для определения потока управления профессионального грамм. Поток управления выражается в виде графика потока управления (CFG). Для языков функционального программирования и объектно-ориентированных языков программирования термин CFA и такие разработки, как k-CFA, относятся к конкретным алгоритмам, вычисляющим поток управления.
Для многих императивных языков программирования поток управления программой явно указан в исходном коде программы. В результате межпроцедурный анализ потока управления неявно обычно относится к методике статического анализа для определения получателя (ей) вызовов функций или методов в компьютерных программах, написанных на. Например, в языке программирования с функциями высшего порядка, такими как Схема, цель вызова функции может быть неявной: в изолированном выражении
(lambda (f) (fx))
неясно, к какой процедуре f
может относиться. Чтобы определить возможные цели, анализ потока управления должен учитывать, где это выражение может быть вызвано и какой аргумент оно может получить.
Для анализа потока управления можно использовать такие методы, как абстрактная интерпретация, решение ограничений и системы типов.
Викимедиа У Commons есть материалы, связанные с анализом потока управления. |