Главная / О компании / Новости / Визуализация графа зависимостей в CodeScoring

Визуализация графа зависимостей в CodeScoring

« Назад

Визуализация графа зависимостей в CodeScoring  06.03.2023 15:38

Начиная с версии 2023.6.0, в CodeScoring доступен новый способ взаимодействия с графом зависимостей в виде интерактивной визуализации. Мы переосмыслили опыт аналогичных инструментов, переложили его на самые частые сценарии использования наших клиентов и постарались сделать действительно универсальный авторский инструмент.
 
Graph-Image-1
Так выглядит интерактивная визуализация графа зависимостей в CodeScoring
 
Open Source зависимости программных проектов представляют собой граф — это структура, в которой отдельные компоненты выступают узлами, а связи между ними представлены в виде ребер. Удобная и полезная визуализация графа — сложная задача, которую разные инструменты решают по-разному.

Примеры реализаций можно найти в таких инструментах как GraphViz, NDepend и Dependency Track. К сожалению, большинство решений имеют известные недостатки: хаотичность распределения узлов, недостаточная информация о компонентах, отсутствие акцентов на безопасности, ограниченные возможности управления и фильтрации.
 
graphs_other_systems (1)
Так выглядит визуализация графа в других системах
 
Хорошая визуализация помогает увидеть структуру зависимостей в проекте целиком, дать представление о взаимосвязях, помочь оценить потенциальные риски и быстро предоставить нужный срез информации.

Поэтому при разработке нашей концепции мы сделали фокус на упорядоченностивозможности фильтрации и быстром доступе к информации. Ключевые особенности нашей интерактивной визуализации графа зависимостей:

1. Чёткое разделение зависимостей по уровню вложенности

2. Подсветка уязвимых компонентов

3. Отсутствие ненужного дублирования узлов

4. Отображение пути привлечения компоненты в продукт

5. Вывод главной информации о компоненте: версия, окружение, технология и количество уязвимостей

6. Фильтры с выбором окружения, технологии и уровня критичности уязвимостей

 
Ниже вы можете посмотреть на применение графа в динамике.
Путь попадания уязвимости в точку сборки
 
Graph-GIF-2.md
Понимание общей структуры проекта с несколькими языками и фильтрация узлов