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

Название: Статический анализ использования библиотек и извлечение сценариев их работы: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения»
Авторы: Кечин Валерий Владимирович
Научный руководитель: Ицыксон Владимир Михайлович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2023
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: восстановление спецификации библиотек; статический анализ; Java; Soot; specification mining; static analysis
Тип документа: Выпускная квалификационная работа бакалавра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Бакалавриат
Код специальности ФГОС: 09.03.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2023/vr/vr23-3600
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\22921

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

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

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

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

Аннотация

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

The purpose of the work is to develop a program that allows you to get Java projects using the selected library from GitHub, extract possible sequences of calls to this library from them and restore its approximate usage scenario based on the accumulated traces. It is assumed that the scenarios obtained in this way will be finalized manually. Call sequence extraction is based on static analysis. In particular, the interprocedural control flow graph and Points-To analysis are used. As a result of the work, the task of partially restoring the library specification from real use cases was solved.

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

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

Оглавление

  • 1. Анализ и сравнительный обзор
    • 1.1. Задачи
    • 1.2. Получение проектов
    • 1.3. Извлечение трасс
    • 1.4. Восстановление КА
    • 1.5. Итоги сравнения
  • 2. Постановка задачи
    • 2.1. Постановка задачи
    • 2.2. Выбор путей решения
    • 2.3. Ожидаемый результат
  • 3. Проектирование приложения
    • 3.1. Общая схема работы
    • 3.2. Поиск и получение проектов
    • 3.3. Извлечение трасс
    • 3.4. Восстановление сценариев
    • 3.5. Итоги проектирования
  • 4. Реализация системы
    • 4.1. Архитектура приложения
    • 4.2. Пакет repository
      • 4.2.1. Поиск и получение проектов
      • 4.2.2. Сборка проектов
    • 4.3. Пакет storage
    • 4.4. Пакет analysis
      • 4.4.1. Получение ICFG
      • 4.4.2. Выделение всех трасс
      • 4.4.3. Извлечение трасс для определенных объектов
    • 4.5. Пакет inference
    • 4.6. Пакет scenario
    • 4.7. Созданное приложение
  • 5. Анализ полученных результатов
    • 5.1. Этапы тестирования
    • 5.2. Поиск и загрузка проектов
    • 5.3. Сборка проектов
    • 5.4. Извлечение трасс
    • 5.5. Восстановление КА
    • 5.6. Результаты тестирования
  • ПРИЛОЖЕНИЕ. КОД ПРОГРАММЫ

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

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