Описание тега control-flow-graph

A control flow graph (CFG) in computer science is a representation, using graph notation, of all paths that might be traversed through a program during its execution.
1 ответ

Доминирование контрольного потока

Я изучаю компиляторы для личного проекта, и для этого я искал документы из университета в Великобритании. Один из вопросов, на которые я наткнулся, гласит: Draw a CFG which contains a definition followed by a use of a variable x, but in which the us…
31 авг '13 в 16:41
1 ответ

Как сделать Control Flow Graph пользовательского кода во время выполнения

Предположим, что пользователь пишет некоторый код в тексте редактирования (TextBox или еще), и программа распознает все определения и применения. Теперь программа хочет показать Control Flow Graph, используя способность Eclipse для создания CFG. Явл…
1 ответ

Отображение CFG от llvm в xvcg

Есть -view-cfg опция ( док) в llvm's opt программа, которая позволяет мне просматривать график потока управления через dot программа. Но CFG слишком велик, чтобы его можно было представить как постскриптум из точки. Я знаю, что есть xvcg Утилита спо…
12 июн '13 в 09:51
0 ответов

Создание графика управления и потока данных (CDFG) из кода C, а затем обратно в исходный код C из CDFG

Прежде всего, я нашел это полезным. Но я ищу программное обеспечение, которое уже конвертирует C/C++ в его представление CDFG. Теперь, чтобы объяснить CDFG- он должен иметь всю информацию об исходном коде. Если я смогу найти что-то подобное, моя цел…
1 ответ

Как нарисовать график потока управления для вложенного цикла for?

for(num2 = 0; num2 <= 3; num2++) { for(num1 = 0; num1 <= 2; num1++) { cout<< num2<< " " << num1<< endl; } } Как нарисовать график потока управления для вышеуказанного сегмента кода? Заранее спасибо:)
0 ответов

CFG функций: должны ли CFG вызываемых функций быть включены в CFG внешней функции?

Предположим, что я получил CFG(control-flow-graph) функции, и предположим, что один из базовых блоков выполняет вызов другой функции (конечно, вызов выполняется в последней инструкции базового блока) . Мой вопрос: должен ли я встроить CFG вызываемой…
1 ответ

Как я могу повлиять на Graphviz/dot, чтобы сделать более приятные графы управления потоками, удаляя змею и улучшая пересечение границ?

Я рисую графы управления потоками для программ на Python и хотел бы повлиять на то, какие края не должны пересекаться. Есть ли способ сделать это? Рассмотрим эту простую программу на Python: try: a += 1 except: a += 2 else: a = 3 И точечная программ…
25 ноя '18 в 15:06
1 ответ

Визуализация графиков управления RTL, сгенерированных GCC

Я получил много выходных данных, используя флаг -fdump-rtl-all gcc, и мне было интересно, как я могу визуализировать эти файлы cfg.
20 авг '14 в 14:43
1 ответ

Как отследить параметр метода?

Я пытался найти точный термин для "отслеживания параметра метода" для языка программирования Java, и я обычно находил "анализ порчи", но все еще не уверен, нахожусь ли я на правильном пути. Я хочу отслеживать параметр метода и видеть, какая часть ме…
12 апр '17 в 20:24
0 ответов

Какие файлы Clang следует использовать при извлечении CFG из clang на серверной части?

Я начал работать с Clang. Я слышал, что есть программный способ извлечь граф потока управления из Clang, чтобы провести некоторый анализ на них. Меня интересует, какие части исходных файлов Clang следует использовать в этой работе.
09 окт '11 в 12:37
2 ответа

График потока управления программой

Сейчас я беру класс компилятора, и мы находимся на этапе, когда нам нужно создать CFG для реализации оптимизации. Одна вещь, которую я не могу понять, это сколько CFG существует для программы? Каждый пример, который я когда-либо видел, кажется CGF п…
2 ответа

Управляющий граф программы AC, чтобы найти наихудший возможный путь

Существуют ли какие-либо инструменты, библиотеки или интегрированные среды, чтобы получить граф управления потоком программы на Си и найти худший из возможных путей, по которому может идти программа? Когда я прочитал другие вопросы, связанные с граф…
1 ответ

Создание графика потока управления с выводом

В настоящее время я учусь рисовать графики потока управления и не уверен, правильно ли я рисую для следующего сценария: Для следующего фрагмента кода, где x а также y входные переменные и z является выходной переменной: if x=0 then x:=10 if x<y-5…
18 дек '17 в 15:04
0 ответов

Может ли ICC-компилятор Intel производить AST, CFG и / или IR?

Используя clang, я нашел полезным изучить абстрактное синтаксическое дерево (AST), граф потока управления (CFG) и LLVM IR, которые он генерирует. Я начал смотреть на ICC-компилятор Intel (версия 15.0.2), и я не могу найти документацию, которая говор…
1 ответ

Как я могу получить граф потока данных вместе с переменными c-use и p-use кода C?

Существует ли какой-либо онлайн-инструмент / программное обеспечение (предпочтительно с открытым исходным кодом), которое создает график потока данных кода C, а также дает в нем переменные p-use и c-use.
1 ответ

Как найти идентификатор преемника базового блока в LLVM?

Я пытаюсь проходить через все основные блоки в функции. Однако мне нужно найти уникальный идентификатор для каждого базового блока, чтобы я мог ссылаться на него позже. Существует ли LLVM API, который дает имя / идентификатор блока? Спасибо
05 фев '14 в 02:39
1 ответ

Как получить межпроцедурный график потока управления для одной программы и выполнить анализ потока данных на нем с помощью llvm?

В 11vv я знаю, что CFG(график потока управления) каждой функции был построен, и CFG представлен отношениями между основными блоками функций. Но я хочу пересмотреть глобальный CFG одной программы, которая включает в себя много функций в llvm. Как я м…
1 ответ

Могу ли я перевести AST на SSA или мне нужно перевести на CFG, а затем на SSA?

Могу ли я перевести абстрактное синтаксическое дерево непосредственно в форму SSA, или мне нужно будет создать граф потока управления, а затем создать форму статического одиночного назначения из указанного CFG? И в контексте графа потока управления:…
1 ответ

Цикломатическая сложность - нарисуйте блок-схему управления для этого оператора Java

Может кто-нибудь помочь с этим? while (x > level) x = x – 1; x = 0
11 мар '16 в 21:42
0 ответов

Управление потоком Grpah для Android APK

Я хочу сгенерировать Control Flow Graph для Android APK. Я видел эту ветку и скачал soot-inflow-android, но он не содержит функций в setUpApplication.java, такой как calculateSourcesSinksEntrypoints а также createEntryPointCreator методы. Как мне сг…
07 дек '17 в 12:13