Details

Title: Разработка модуля для анализа вклада встраиваемых в среды разработки семейства IntelliJ расширений в общее время выполнения операций: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения»
Creators: Собко Евгений Вадимович
Scientific adviser: Кузнецов Андрей Николаевич
Other creators: Нестеров Сергей Александрович
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2021
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: intellij плагин; профилирование; kotlin; jvm; время выполнения операций; intellij plugin; profiling; execution time
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.01
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2021/vr/vr21-731
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\12841

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Данная работа рассматривает разработку инструмента для анализа вклада встраиваемых расширений в среды разработки на базе платформы IntelliJ в общее время выполнения операций. В ходе выполнения работы был проведен анализ причин возможного увеличения времени выполнения операций в связи с работой плагинов. Рассмотрены существующие решения. В качестве разрабатываемого инструмента был выбран плагин для сред разработки на базе платформы IntelliJ. Описан процесс разработки решения. Был проведен анализ полученных результатов и тестирование.

This thesis examines the development of a tool for analyzing the contribution of plugins to development environments based on the IntelliJ platform in the total execution time. In the course of the work, an analysis was made of the reasons for a possible increase in the execution time of operations in connection with the work of plugins. Existing solutions are considered. A plugin for development environments based on the IntelliJ platform was chosen as the developed tool. The process of developing a solution is described. The results were analyzed and tested.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Table of Contents

  • СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
  • ВВЕДЕНИЕ
  • 1. Анализ предметной области
    • 1.1. Платформа IntelliJ
    • 1.2. Расширения
      • 1.2.1. Распространение расширений
      • 1.2.2. Строение расширений
    • 1.3. Итоги раздела
  • 2. Обзор инструментов выявления проблемы увеличения времени выполнения операций
    • 2.1. Вклад встраиваемых расширений в общее время выполнения операций
    • 2.2. Существующие средства решения проблемы
      • 2.2.1. Async Profiler
      • 2.2.2. IDE Perf
    • 2.3. Недостатки существующих средств
    • 2.4. Итоги раздела
  • 3. Проектирование программного модуля для анализа вклада встраиваемых расширений в общее время выполнения операций
    • 3.1. Описание концепций расширения для поиска плагинов, замедляющих среду разработки на базе платформы IntelliJ
    • 3.2. Реализация плагина для поиска расширений, увеличивающих общее время выполнения пользовательских операций
      • 3.2.1. Добавление Java-агента в проект
      • 3.2.2. Реализация поиска классов и методов плагинов внутри работающей среды разработки
      • 3.2.3. Сопоставление данных инструментирования методов и классов с названиями плагинов
      • 3.2.4. Отображение полученных данных
      • 3.2.5. Публикация расширения в магазине JetBrains Marketplace
    • 3.3. Итоги раздела
  • 4. Тестирование полученного решения
    • 4.1. Тестирование работы разработанного решения
      • 4.1.1. Искусственный пример
      • 4.1.2. Реальный пример
    • 4.2. Тестирование работоспособности в других средах разработки
      • 4.2.1. Тестирование в AppCode
      • 4.2.2. Тестирование в CLion
      • 4.2.3. Тестирование в DataGrip
      • 4.2.4. Тестирование в GoLand
      • 4.2.5. Тестирование в PhpStorm
      • 4.2.6. Тестирование в PyCharm
      • 4.2.7. Тестирование в Rider
      • 4.2.8. Тестирование в RubyMine
      • 4.2.9. Тестирование в WebStorm
    • 4.3. Итоги главы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Usage statistics

stat Access count: 8
Last 30 days: 0
Detailed usage statistics