Анализ потока управления - Control flow analysis

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

Для многих императивные языки программирования, поток управления программой явно указан в исходном коде программы.[сомнительный ] Как результат, межпроцедурный анализ потока управления неявно обычно относится к статический анализ метод определения получателя (ей) вызовов функций или методов в компьютерных программах, написанных на язык программирования высшего порядка.[сомнительный ] Например, в языке программирования с функции высшего порядка любить Схема, цель вызова функции не может быть явной: в изолированном выражении

(лямбда (ж) (ж Икс))

неясно, к какой процедуре ж может сослаться. Чтобы определить возможные цели, анализ потока управления должен учитывать, где это выражение может быть вызвано и какой аргумент оно может получить.

Такие методы, как абстрактная интерпретация, решение ограничений, и системы типов может использоваться для анализа потока управления.[1][страница нужна ]

Смотрите также

использованная литература

  1. ^ Нильсон, Флемминг; Нильсон, Ханне Риис; Ханкин, Крис (2005). Принципы анализа программ. Springer Science + Business Media.

внешняя ссылка