Модуль graphs

Модуль graphs содержит функции для построения визуализаций исходного кода на языке C в виде графов.

Функции модуля используют класс cpgqls_client.CPGQLSClient, который предоставляет интерфейс клиента для взаимодействия с сервером Joern. Данный класс позволяет выполнять запросы к серверу и получать результат выполнения этих запросов.

visualization.graphs.cfg_for_folder(client, path, funcs=None)

Возвращает граф потока управления (CFG) для функций проекта, который находиться в директории path.

Возвращает граф потока управления (CFG) в DOT формате для функций, названия который указываются в параметре funcs. Если funcs = None (по-умолчанию), то графы строятся для каждой функции проекта.

Параметры
  • client (cpgqls_client.CPGQLSClient) – клиент для взаимодействия с сервером Joern

  • path (string) – абсолютный путь к проекту

  • funcs (list) – список названий функций

Результат

словарь вида (название_функции:dot_представление_графа) (string:string)

Тип результата

dict

visualization.graphs.cfg_for_file(client, path, funcs=None)

Возвращает граф потока управления (CFG) для функций файла, который находиться по пути path.

Возвращает граф потока управления (CFG) в DOT формате для функций, названия который указываются в параметре funcs. Если funcs = None (по-умолчанию), то графы строятся для каждой функции файла.

Параметры
  • client (cpgqls_client.CPGQLSClient) – клиент для взаимодействия с сервером Joern

  • path (string) – абсолютный путь к файлу

  • funcs (list) – список названий функций

Результат

словарь вида (название_функции:dot_представление_графа) (string:string)

Тип результата

dict