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

Название: Ускорение вычисления точек останова с условием в отладчиках программ на JVM-языках на примере интегрированной среды разработки IntelliJ IDEA: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения»
Авторы: Рубан Станислав Дмитриевич
Научный руководитель: Ахин Марат Халимович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2022
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: отладка программ; отладчики; точки останова с условием; платформа Java; Java; IntelliJ IDEA; инструментирование байткода; debugging; debuggers; conditional breakpoints; Java platform; bytecode instrumentation
Тип документа: Выпускная квалификационная работа бакалавра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Бакалавриат
Код специальности ФГОС: 09.03.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2022/vr/vr22-997
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\17152

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

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

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

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

Аннотация

Тема выпускной квалификационной работы: "Ускорение вычисления точек останова с условием в отладчиках программ на JVM-языках на примере интегрированной среды разработки IntelliJ IDEA".Данная работа посвящена решению проблемы низкой производительности точек останова с условием в рамках платформы Java. В ходе работы решались следующие задачи:анализ существующий реализаций точек останова с условием на платформе Java;разработка подхода к ускорению вычисления точек останова в отладчиках для JVM-языков; разработка реализующего данный подход прототипа в виде расширения отладчика интегрированной среды разработки IntelliJ IDEA для языка программирования Java;тестирование прототипа и оценка его производительности.Разработанный подход основан на динамическом инструментировании условий срабатывания точек останова в исполняемый JVM-байткод отлаживаемого программного обеспечения.В результате выполнения работы была получена воплощающая разработанный подход реализация точек останова с условием, а также продемонстрировано отсутствие потерь производительности при её использовании.

The subject of the bachelor's thesis: "Speeding up evaluation of conditional breakpoints in debuggers of JVM languages on the example of the IntelliJ IDEA integrated development environment". This thesis is devoted to fixing low performance of conditional breakpoints on the Java platform. The following objectives were examined as a part of the thesis:analysis of existing implementations of conditional breakpoints on the Java platform;development of an approach that would increase performance of conditional breakpoints in debuggers of JVM languages;development of a prototype implementing said approach as an extension of the IntelliJ IDEA integrated development environment's Java debugger;testing of the prototype and evaluation of its performance.The resulting approach is based on dynamic instrumentation of the program-under-debug's JVM bytecode with breakpoint conditions.An implementation of conditional breakpoints following the approach in question was acquired as a result of this thesis. It was also shown to function without any performance losses.

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

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

Оглавление

  • СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
  • ВВЕДЕНИЕ
  • 1. Обзор существующих реализаций
    • 1.1. Точки останова и точки останова с условием
    • 1.2. Ручная отладка программ на платформе Java
      • 1.2.1. Архитектура отладчика для платформы Java
      • 1.2.2. Точки останова на платформе Java
    • 1.3. Обзор отладчиков разных ИСР для ЯП Java
    • 1.4. Точки останова с условием на других платформах
    • 1.5. Резюме
  • 2. Постановка задач работы
    • 2.1. Ускорение вычисления ТОУ на платформе Java
    • 2.2. Улучшение отладчика ИСР IntelliJ IDEA для ЯП Java
    • 2.3. Резюме
  • 3. Разработка метода решения проблемы
    • 3.1. Рассмотрение подходов к решению проблемы
      • 3.1.1. Расширение функциональности JPDA
      • 3.1.2. Динамическое инструментирование JVM-байткода
    • 3.2. Резюме
  • 4. Разработка прототипа
    • 4.1. Общее описание прототипа
    • 4.2. Java-агент для инструментирования отлаживаемого ПО
      • 4.2.1. Процесс инициализации Java-агента
      • 4.2.2. Инструментирование целевых классов и методов
      • 4.2.3. Обновление JVM-байткода загруженных классов
    • 4.3. Сторона отладчика ИСР IntelliJ IDEA для ЯП Java
      • 4.3.1. Отслеживание внутренних событий ИСР
      • 4.3.2. Ведение актуального перечня ТОУ
      • 4.3.3. Предобработка условий срабатывания точек останова
    • 4.4. Резюме
  • 5. Тестирование и анализ результатов
    • 5.1. Ручное функциональное тестирование прототипа
    • 5.2. Анализ результатов работы
      • 5.2.1. Оценка производительности прототипа
      • 5.2.2. Ограничения прототипа
      • 5.2.3. Результаты тестирования прототипа
    • 5.3. Направления дальнейшей работы
    • 5.4. Резюме
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ 1. Листинги программ для оценки производительности реализаций точек останова с условием
  • ПРИЛОЖЕНИЕ 2. Листинги исходного кода Java-агента для инструментирования отлаживаемого ПО
  • ПРИЛОЖЕНИЕ 3. Листинги исходного кода плагина для ИСР IntelliJ IDEA
  • ПРИЛОЖЕНИЕ 4. Листинги общего исходного кода компонент прототипа
  • ПРИЛОЖЕНИЕ 5. Листинги исходного кода, использованного при функциональном тестировании прототипа

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

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