Details

Title: Платформа для извлечения частичных спецификаций библиотек: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения»
Creators: Феофилактов Владислав Сергеевич
Scientific adviser: Ицыксон Владимир Михайлович
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2023
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: генерация спецификаций; формальная спецификация; повторное использование кода; статический анализ; LibSL; specification generation; formal specification; code reuse; static analysis
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.01
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2023/vr/vr23-3486
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\22869

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

Тема выпускной квалификационной работы: «Платформа для извлечения частичных спецификаций библиотек». Бакалаврская работа посвящена разработке прототипа платформы для автоматической генерации спецификации программных компонентов на языке LibSL. В ходе выполнения работы приведен обзор и анализ существующих решений для генерации спецификаций. Рассматриваются возможные подходы к решению этой задачи, проектируется платформа для автоматизации извлечения спецификации компонентов ПО, происходит её реализация и тестирование. Полученные результаты анализируются, на основании чего делаются выводы.

The subject of the graduate qualification work is «Platform for extracting partial library specifications». This bachelor’s work is devoted to develop a platform prototype for automatic generation of a programming component specification in LibSL language. In the course of work, the overview and analysis of current state-of-the-art solutions were done. Possible approaches for this problem were considered. The automatic specification generation platform was developed, and it was implemented. The approbation was carried out, and its results were analysed, so conclusions were drawn from them.

Document access rights

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

Table of Contents

  • СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
  • ВВЕДЕНИЕ
  • 1. Обзор существующих решений
    • 1.1. Критерии классификации подходов для извлечения спецификации ПО
    • 1.2. Оценка существующих решений
      • 1.2.1. Visual Contracts
      • 1.2.2. Deep Specifications Miner
      • 1.2.3. Scenario-Based and Value-Based Specification Mining: Better Together
      • 1.2.4. Static Specification Mining Using Automata-Based Abstractions
      • 1.2.5. Static Specification Inference Using Predicate Mining
      • 1.2.6. aComment: Mining Annotations from Comments and Code to Detect Interrupt Related Concurrency Bugs
    • 1.3. Резюме
  • 2. Постановка и анализ задачи
    • 2.1. Постановка задачи
    • 2.2. Выбор путей решения
      • 2.2.1. Пригодность к использованию программистом
      • 2.2.2. Расширяемость инструмента
      • 2.2.3. Представление входных данных
    • 2.3. Извлекаемая информация
    • 2.4. Резюме
  • 3. Разработка платформы
    • 3.1. Архитектура платформы
    • 3.2. Разработка стадий анализа
      • 3.2.1. Стадия извлечения каркаса спецификации
      • 3.2.2. Стадия извлечения влияния методов на окружение
      • 3.2.3. Интеграция внешнего инструмента в Платформу
      • 3.2.4. Стадия извлечения контрактов выбрасывания исключений
    • 3.3. Генерация спецификации транзитивных компонентов
    • 3.4. Сохранение спецификации в виде текста
    • 3.5. Резюме
  • 4. Реализация прототипа платформы
    • 4.1. Конфигурирование и запуск анализа из интерфейса командной строки
    • 4.2. Интерфейс AnalysisStage
    • 4.3. Класс AnalysisPipeline
    • 4.4. Стадии анализа
      • 4.4.1. Стадия извлечения каркаса спецификации
      • 4.4.2. Стадия извлечения влияния на окружение
      • 4.4.3. Стадия извлечения информации о выбрасываемых исключениях
    • 4.5. Сохранение результатов работы платформы
    • 4.6. Реализация модуля тестирования
    • 4.7. Генерация спецификации стандартной библиотеки классов Java
    • 4.8. Резюме
  • 5. Анализ результатов
    • 5.1. Описание подхода проверки
    • 5.2. Анализ кода для JVM и корректность экспорта в LibSL
    • 5.3. Система построения скелета спецификации
    • 5.4. Система извлечения влияния на окружение
    • 5.5. Интеграция с внешними инструментами
    • 5.6. Резюме
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ. ЛИСТИНГИ

Usage statistics

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