Детальная информация

Название: Разработка плагина к платформе SonarQube для статического анализа языка GoLang: выпускная квалификационная работа магистра: направление 09.04.01 «Информатика и вычислительная техника» ; образовательная программа 09.04.01_15 «Технологии проектирования системного и прикладного программного обеспечения»
Авторы: Дуботолкова Натали Дмитриевна
Научный руководитель: Ицыксон Владимир Михайлович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2023
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: статический анализ; плагин; Sonarqube; GoLang; static analysis; plugin
Тип документа: Выпускная квалификационная работа магистра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Магистратура
Код специальности ФГОС: 09.04.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2023/vr/vr23-3882
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\25012

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

Эта работа посвящена разработке плагина SonarQube для статического анализа языка GoLang. Были выполнены следующие задачи:         Выявление модулей, используемых в языке Golang для создания анализаторов.         Исследование и анализ существующих статических анализаторов кода для языка GoLang.         Реализация плагина для анализатора Sonarqube, интегрирующего один из анализаторов.         Экспериментальное сравнение производительности и эффективности разработанного плагина с другими существующими решениями на реальных проектах.     По результатам исследования был выбран govulncheck - инструмент, который анализирует подключаемые пакеты c помощью анализа переменных типов (VTA), определяя используемые методы из уязвимого пакета, тем самым уменьшая количество ложных срабатываний.         Добавление поддержки данной утилиты в популярный статический анализатор Sonarqube позволило упростить и ускорить поиск уязвимостей в проектах на языке GoLang.

This work is devoted to the development of the SonarQube plugin for static analysis of the GoLang language. The following tasks were completed:           Identification and categorization of vulnerabilities in GoLang code that can be detected using static analysis.           Research and analysis of existing static code analyzers in the GoLang language.           Creation and implementation of a plug-in for the Sonarqube analyzer, integrating one of the analyzers.           An experimental comparison of the performance and efficiency of the developed plugin with other existing solutions on real projects.     According to the results of the study, govulncheck was chosen - a tool that analyzes plug-in packages. It uses variable type analysis (VTA) to determine which methods are being used from a vulnerable package, reducing false positives.         Adding support for this utility to the popular Sonarqube static analyzer has simplified and accelerated the search for vulnerabilities in GoLang projects.

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать Печать Загрузить
Интернет Авторизованные пользователи СПбПУ Прочитать Печать Загрузить
-> Интернет Анонимные пользователи

Оглавление

  • 1. Статический анализ в языке GoLang
    • 1.1. =Язык GoLang
      • 1.1.1. =Статический анализ в GoLang
    • 1.2. =Статические анализаторы в GoLang
    • 1.3. =Сравнение статических анализаторов
      • 1.3.1. =Резюме
    • 1.4. =Платформа Sonarqube
    • 1.5. =Основные характеристики платформы
    • 1.6. =Архитектура Sonarqube
      • 1.6.1. =Резюме
  • 2. Реализации плагина
    • 2.1. =Архитектура разработки
    • 2.2. =Постановка задачи
    • 2.3. =Описание реализации
    • 2.4. =Тестирование
      • 2.4.1. =Unit-тестирование
      • 2.4.2. =Функциональное тестирование
    • 2.5. Резюме
  • ПРИЛОЖЕНИЕ 1. Скрипт для запуска анализа
  • ПРИЛОЖЕНИЕ 2. Файл конфигурации сервисов

Статистика использования

stat Количество обращений: 19
За последние 30 дней: 1
Подробная статистика