Программная инженерия | График потока управления (CFG)
График потока управления (CFG) - это графическое представление потока управления или вычислений во время выполнения программ или приложений. Графики потока управления в основном используются в статическом анализе, а также в приложениях-компиляторах, поскольку они могут точно представлять поток внутри программного модуля. Граф потока управления был первоначально разработан Фрэнсис Э. Аллен .
Характеристики графа потока управления:
- Граф потока управления ориентирован на процесс.
- График потока управления показывает все пути, которые можно пройти во время выполнения программы.
- Граф потока управления - это ориентированный граф.
- Края в CFG изображают пути потока управления, а узлы в CFG изображают базовые блоки.
В Control Flow Graph существует 2 обозначенных блока:
- Блок входа:
Блок ввода позволяет элементу управления войти в граф потока управления. - Блок выхода:
Поток управления уходит через выходной блок.
Следовательно, граф потока управления состоит из всех строительных блоков, задействованных в блок-схеме, таких как начальный узел, конечный узел и потоки между узлами.
Графики общего потока управления:
График потока управления представлен по-разному для всех операторов и циклов. Следующие изображения описывают это:
1. Если-еще:
2. пока:
3. делать-а:
4. для:
Пример:
если A = 10, то если B> C А = В иначе A = C endif endif напечатать A, B, C
Блок-схема приведенного выше примера будет выглядеть следующим образом:
График потока управления в приведенном выше примере будет:
Преимущество CFG:
У графа потока управления много преимуществ. Он может легко инкапсулировать информацию по каждому базовому блоку. Он может легко найти недоступные коды программы, а синтаксические структуры, такие как циклы, легко найти в графе потока управления.
Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.