Details

Title: Определение дубликатов ошибок компилятора языка Kotlin методом поиска программ-свидетелей: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения»
Creators: Константинова Вера Валентиновна
Scientific adviser: Ахин Марат Халимович
Other creators: Нестеров Сергей Александрович; Степанов Даниил Сергеевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: определение дубликатов ошибок; компилятор Kotlin; генерация программ-свидетелей; локализация ошибок; автоматическое тестирование компиляторов; качество программного обеспечения; bug duplicate detection; Kotlin compiler; witness test program generation; bug localization; automatic compiler testing; software quality
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Speciality code (FGOS): 09.03.01
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-816
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)

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

Одной из основных проблем в области автоматического тестирования компиляторов является появление различных тестовых данных, приводящих к одной ошибке (дубликатов). Большое количество дубликатов приводит к значительным временным и трудовым затратам при обработке результатов средства автоматического тестирования. В работе предлагается подход к решению данной проблемы --- метод автоматического определения дубликатов. Метод разрабатывался для ошибок компилятора языка программирования 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.

Document access rights

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

Table of Contents

  • ВВЕДЕНИЕ
  • 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. листинги

Usage statistics

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