Анализ потока управления: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
Новая страница: «{{В инкубаторе}} {{Инкубатор, пишу}} <!-- Начинайте писать ниже этой строки --> '''Ана…»
(нет различий)

Версия от 11:02, 6 сентября 2012


Анализ потока управления — это статический анализ кода для определения порядка выполнения программы. Порядок выполнения выражается в виде графа потока управления.

Для многих языков граф потока управления явно прослеживается в исходном коде программы. Как результат, анализ потока управления обычно относится статическому анализу кода. В ходе анализа определяются приемники функций и методов, вызванных программами, написанными на языках высокого уровня. И для языков функционального программирования, и для объектно-ориентированных языков программирования термин "Анализ потока управления" означает алгоритм, который формирует граф потока управления.

Термин анализ потока управления (control flow analysis) был впервые использован Нейлом Джонсом (Neil D. Jones) [1] и Олином Шиверсом (Olin Shivers) [2].

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


Примечания

  1. Neil D. Jones (1981), "Flow analysis of lambda expressions", Automata, Languages and Programming: 114—128, doi:10.1007/3-540-10843-2_10
  2. Shivers, Olin (1988), "Control-flow analysis in Scheme", Proceedings of the ACM SIGPLAN'88 Conference on Programming Language Design and Implementation (PLDI), SIGPLAN Notices, Vol.23, No.7: 164—174, doi:10.1145/53990.54007 {{citation}}: Неизвестный параметр |note= игнорируется (справка)