Программная инженерия | График потока управления (CFG)

Опубликовано: 28 Января, 2022

График потока управления (CFG) - это графическое представление потока управления или вычислений во время выполнения программ или приложений. Графики потока управления в основном используются в статическом анализе, а также в приложениях-компиляторах, поскольку они могут точно представлять поток внутри программного модуля. Граф потока управления был первоначально разработан Фрэнсис Э. Аллен .

Характеристики графа потока управления:

  • Граф потока управления ориентирован на процесс.
  • График потока управления показывает все пути, которые можно пройти во время выполнения программы.
  • Граф потока управления - это ориентированный граф.
  • Края в CFG изображают пути потока управления, а узлы в CFG изображают базовые блоки.

В Control Flow Graph существует 2 обозначенных блока:

  1. Блок входа:
    Блок ввода позволяет элементу управления войти в граф потока управления.
  2. Блок выхода:
    Поток управления уходит через выходной блок.

Следовательно, граф потока управления состоит из всех строительных блоков, задействованных в блок-схеме, таких как начальный узел, конечный узел и потоки между узлами.

Графики общего потока управления:
График потока управления представлен по-разному для всех операторов и циклов. Следующие изображения описывают это:

1. Если-еще:



2. пока:



3. делать-а:



4. для:



Пример:

 если A = 10, то
  если B> C
     А = В
  иначе A = C
  endif
  endif
напечатать A, B, C

Блок-схема приведенного выше примера будет выглядеть следующим образом:



График потока управления в приведенном выше примере будет:



Преимущество CFG:
У графа потока управления много преимуществ. Он может легко инкапсулировать информацию по каждому базовому блоку. Он может легко найти недоступные коды программы, а синтаксические структуры, такие как циклы, легко найти в графе потока управления.

Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.