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

Название: Портирование инфраструктуры учебного курса "Статический анализ ПО" на язык программирования Kotlin: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения»
Авторы: Вяткина Полина Алексеевна
Научный руководитель: Беляев Михаил Анатольевич
Другие авторы: Нестеров Сергей Александрович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2021
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: TIP; статический анализ; монотонный фреймворк; алгебраическая решетка; алгоритм унификации; абстрактное синтаксическое дерево; граф потока управления; static analysis; monotone framework; algebraic lattice; unification algorithm; abstract syntax tree; control flow graph
Тип документа: Выпускная квалификационная работа бакалавра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Бакалавриат
Код специальности ФГОС: 09.03.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
Ссылки: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2021/vr/vr21-719
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\12824

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

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

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

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

Аннотация

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

This paper solves the problem of translating the infrastructure of the course «Static Program Analysis» into the Kotlin programming language. The first part of the paper covers the translation of the program code that implements the tools for getting acquainted with various approaches to building static analyzers. The next part includes the implementation of laboratory work on the basis of the ported program for the course and testing to verify the correctness of the work performed. The conclusion contains an analysis of the results and an assessment of the possibilities for further development of the designed system.

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

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

Оглавление

  • СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
  • ВВЕДЕНИЕ
  • 1. Постановка задачи
  • 2. Вводная часть
    • 2.1. Обзор курса <<Статический анализ ПО>> на ЯП Scala
    • 2.2. Подход к построению статических анализаторов
    • 2.3. Задача унификации и анализ типов
    • 2.4. Монотонный фреймворк
      • 2.4.1. Теория решеток
      • 2.4.2. Теорема о неподвижной точке
    • 2.5. Язык программирования Kotlin
  • 3. Проблемы портирования
    • 3.1. Interface и trait
    • 3.2. Type и typealias
    • 3.3. Неявные классы, функции и параметры
    • 3.4. Особенности реализации стандартных коллекций
  • 4. Детали реализации
    • 4.1. Запуск программы
    • 4.2. Построение моделей программного кода
    • 4.3. Реализация решателей неподвижной точки
    • 4.4. Реализация анализаторов на основе монотонного фреймворка
    • 4.5. Выполнение лабораторных работ
  • 5. Тестирование
    • 5.1. Тестирование парсера
    • 5.2. Тестирование генератора графа потока управления
    • 5.3. Тестирование работы анализаторов
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ. ЛИСТИНГИ КОДА

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

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