Details

Title: Выбор оптимального алгоритма подготовки данных для максимизации покрытия кода при тестировании программного обеспечения на безопасность: выпускная квалификационная работа бакалавра: направление 27.03.03 «Системный анализ и управление» ; образовательная программа 27.03.03_02 «Cистемный анализ в информационных системах и технологиях»
Creators: Железный Иван Игоревич
Scientific adviser: Магер Владимир Евстафьевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: тестирование программного обеспечения; покрытие кода; бинарная инструментация; фаззинг; software testing; code covering; binary instrumentation; fuzzing
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 27.03.03
Speciality group (FGOS): 270000 - Управление в технических системах
Links: Отзыв руководителя; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-478
Rights: Доступ по паролю из сети Интернет (чтение, печать)
Record key: ru\spstu\vkr\10041

Allowed Actions:

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

Group: Anonymous

Network: Internet

Annotation

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

In this paper, the main approaches used for the automated detection of software errors are considered, based on the analysis of the coverage of executable code. An approach using the system matrix method for estimating program execution paths is proposed. In the practical part of the work, a software tool for evaluation of the effectiveness of methods under consideration was developed, and a comparative analysis was carried out.

Document access rights

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

Table of Contents

  • СОДЕРЖАНИЕ
  • ВВЕДЕНИЕ
  • 1 Обзор методов подготовки тестовых данных для выявления ошибок в программном обеспечение
    • 1.1 Выявление ошибок в программном обеспечении с использованием фаззинга
    • 1.2 Исследование алгоритма подготовки данных на основе анализа покрытия кода, применяемого в AFL
    • 1.3 Описание основных недостатков фаззинговой стратегии используемой в AFL
    • 1.4 Подходы для повышения эффективности фаззинга, используемые в VUzzer
      • 1.4.1 Расчет весов базовых блоков на основе вероятностной оценки исполнения
      • 1.4.2 Выявление кода обработки ошибок
  • 2 Оптимизация существующих методов генерации входных данных при тестировании программного обеспечения
    • 2.1 Формализация задачи покрытия кода
    • 2.2 Расчет весов базовых блоков на основе оценки безопасности исполняемого кода
    • 2.3 Использование метода системных матриц для выбора оптимальных входных данных
  • 3 Подготовка демонстрационного стенда для оценки эффективности работы рассматриваемых алгоритмов
    • 3.1 Анализ инструментов оценки покрытия исполняемого кода
    • 3.2 Разработка программного средства анализа покрытия кода
      • 3.2.1 Разработка статического анализатора кода
      • 3.2.2 Разработка программного средства динамического анализа покрытия исполняемого кода
  • 4 Сравнение результатов проведенных испытаний
  • Заключение
  • Список использованных источников

Usage statistics

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