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

Название: Определение дубликатов ошибок компилятора языка Kotlin методом поиска программ-свидетелей: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения»
Авторы: Константинова Вера Валентиновна
Научный руководитель: Ахин Марат Халимович
Другие авторы: Нестеров Сергей Александрович; Степанов Даниил Сергеевич
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2020
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: определение дубликатов ошибок; компилятор Kotlin; генерация программ-свидетелей; локализация ошибок; автоматическое тестирование компиляторов; качество программного обеспечения; bug duplicate detection; Kotlin compiler; witness test program generation; bug localization; automatic compiler testing; software quality
Тип документа: Выпускная квалификационная работа бакалавра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Бакалавриат
Код специальности ФГОС: 09.03.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
Ссылки: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-816
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\6369

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

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

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

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

Аннотация

Одной из основных проблем в области автоматического тестирования компиляторов является появление различных тестовых данных, приводящих к одной ошибке (дубликатов). Большое количество дубликатов приводит к значительным временным и трудовым затратам при обработке результатов средства автоматического тестирования. В работе предлагается подход к решению данной проблемы --- метод автоматического определения дубликатов. Метод разрабатывался для ошибок компилятора языка программирования Kotlin. Основой предложенного метода является метод поиска программ-свидетелей. На базе метода разработан модуль определения дубликатов ошибок компилятора языка Kotlin. Полученные результаты показывают возможность применения технологии для автоматического определения дубликатов.

One of the main problem in the field of automatic testing of compilers is the appearance of different test data, which leads to one error (duplicates). A large number of duplicates leads to significant time spendings and workload in processing the results of automatic testing. In this thesis we propose an approach to this problem via automatic duplicate detection. The method was developed to working with Kotlin compiler errors. The basis of our solution is the method of searching for witness programs. Based on the method, we developed a module for detection duplicates of Kotlin compiler errors. The evaluation results show that it may be used as automatic duplicate detection tool.

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

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

Оглавление

  • ВВЕДЕНИЕ
  • 1. Методы определения дубликатов ошибок
    • 1.1. Сравнение сообщений об ошибках
      • 1.1.1. Алгоритм Майерса
      • 1.1.2. Резюме
    • 1.2. Поиск множества программ-свидетелей
    • 1.3. Резюме
  • 2. Постановка задачи
    • 2.1. Основные функции разрабатываемого модуля
    • 2.2. Требования к инструментированию и сборке покрытия
    • 2.3. Требования к отчету о покрытии
    • 2.4. Резюме
  • 3. Подход к реализации метода программ-свидетелей
    • 3.1. Обзор технологий инструментирования и сборки покрытия
      • 3.1.1. Atlassian Clover
      • 3.1.2. Cobertura
      • 3.1.3. JaCoCo
      • 3.1.4. Резюме
    • 3.2. Формирование отчета о покрытии
      • 3.2.1. Стандартные форматы отчета о покрытии JaCoCo
      • 3.2.2. Резюме
    • 3.3. Сравнение покрытий
    • 3.4. Мутация тестовой программы
    • 3.5. Подозрительное значение
    • 3.6. Резюме
  • 4. Разработка модуля определения дубликатов
    • 4.1. Архитектура модуля
    • 4.2. Инструментирование
    • 4.3. Сравнение покрытий
    • 4.4. Мутирование
    • 4.5. Подозрительное значение
    • 4.6. Резюме
  • 5. Тестирование
    • 5.1. Описание тестовой выборки
    • 5.2. Задача тестирования
    • 5.3. Ход тестирования
    • 5.4. Анализ результатов
    • 5.5. Проблемы
    • 5.6. Резюме
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ 1. Код программ 3-его элемента выборки
  • ПРИЛОЖЕНИЕ 2. листинги

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

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