С 17 марта 2020 г. для ресурсов (учебные, научные, материалы конференций, статьи из периодических изданий, авторефераты диссертаций, диссертации) ЭБ СПбПУ, обеспечивающих образовательный процесс, установлен особый режим использования. Обращаем внимание, что ВКР/НД не относятся к этой категории.

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

Название: Интеграция статического анализатора Infer в IntelliJ IDEA: выпускная квалификационная работа магистра: 09.04.01 - Информатика и вычислительная техника ; 09.04.01_15 - Технологии проектирования системного и прикладного программного обеспечения
Авторы: Олейник Максим Александрович
Научный руководитель: Ицыксон Владимир Михайлович
Другие авторы: Новопашенный Андрей Гелиевич
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт промышленного менеджмента, экономики и торговли
Выходные сведения: Санкт-Петербург, 2019
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: Программирования языки; Интернет; Джава (JAVA); инкрементальный анализ; статический анализ кода; facebook infer; intellij idea
УДК: 004.438(043.3); 004.738.5(043.3)
Тип документа: Выпускная квалификационная работа магистра
Тип файла: PDF
Язык: Русский
Код специальности ФГОС: 09.04.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
Ссылки: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2019/vr/vr19-721
Права доступа: Свободный доступ из сети Интернет (чтение, печать, копирование)

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

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

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

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

Аннотация

Магистерская работа рассматривает интеграцию статического анализатора Facebook Infer в среду разработки IntelliJ IDEA. В ходе выполнения работы был разработан алгоритм инкрементального статического анализа Java проектов при помощи Infer и создан плагин для IntelliJ IDEA, который интегрирует анализатор и расширяет способы взаимодействия с ним такими функциями, как инкрементальный анализ, проверка при сохранении изменённых файлов, отображение ошибок в отчёте и редакторе текста, быстрая навигация к местам ошибок.

In this work we develop an integration between Facebook Infer static analyzer and IntelliJ IDEA IDE. To implement that, we have created an algorithm for incremental analysis of Java projects, based on Infer, allowing for better interoperation with the IDE. We have also implemented an IDEA plugin, based on the incremental analysis, which adds Infer support together with such functions as on-save analysis, IDE-based error reporting, quick navigation, etc.

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

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

Оглавление

  • ВВЕДЕНИЕ
  • 1. Анализ предметной области и обзор технологий
    • 1.1. Проблема ошибок в программном коде
    • 1.2. Статический анализ кода
      • 1.2.1. Инкрементальный статический анализ кода
    • 1.3. Статические анализаторы языка Java
    • 1.4. Статический анализатор Infer
      • 1.4.1. Принцип работы Infer
    • 1.5. Среда разработки IntelliJ IDEA
      • 1.5.1. IntelliJ Platform
    • 1.6. Итоги раздела
  • 2. Постановка задачи
    • 2.1. Формулирование требований к разрабатываемому продукту
    • 2.2. Решаемые задачи
    • 2.3. Итоги раздела
  • 3. Разработка IntelliJ IDEA плагина для интеграции Infer
    • 3.1. Разработка алгоритма инкрементального анализа при помощи Infer
      • 3.1.1. Захват данных
      • 3.1.2. Анализ
      • 3.1.3. Алгоритм инкрементального анализа
    • 3.2. Разработка IntelliJ IDEA плагина для интеграции Infer
      • 3.2.1. Общая структура плагина
      • 3.2.2. Получение аргументов компилятора
      • 3.2.3. Работа с анализатором Infer
      • 3.2.4. Работа с отчётом
      • 3.2.5. Режимы проверок
      • 3.2.6. Отображение ошибок
      • 3.2.7. Конфигурация
      • 3.2.8. Получение исполняемых файлов Infer
    • 3.3. Итоги раздела
  • 4. Тестирование
    • 4.1. Конфигурация тестовой платформы
    • 4.2. Исследование характеристик плагина
    • 4.3. Результаты тестирования
    • 4.4. Итоги раздела
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ. ЛИСТИНГИ

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

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