Анализ потока управления
В информатикеанализ потока управления (CFA)-это метод статического анализа кода для определения потока управления программой. Поток управления выражается в виде графика потока управления (CFG). Как для функциональных языков программирования , так и для объектно-ориентированных языков программированиятермин CFA и разработки, такие как k-CFA, относятся к конкретным алгоритмам, вычисляющим поток управления.[сомнительно -обсудить]
Для многих императивных языков программированияпоток управления программой является явным в исходном коде программы. в результате межпроцессный анализ потока управления неявно обычно относится к методу статического анализа для определения приемника(приемников) вызовов функций или методов в компьютерных программах, написанных на языке программирования более высокого порядка. например , в языке программирования с функциями более высокого порядка, такими как Scheme, цель вызова функции может быть не явной: в изолированном выражении
(лямбда (f) (f x))
неясно, к какой процедуре fэто может относиться. Чтобы определить возможные цели, анализ потока управления должен рассмотреть, где это выражение может быть вызвано и какой аргумент оно может получить.
Для анализа потока управления могут использоваться такие методы , как абстрактная интерпретация , решение ограниченийи системы типов.
См. также[править]
- Схема управления потоком (CFD)
- Анализ потока данных
- Декартово произведение алгоритм
- Анализ указателей