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

Название: Генератор систем автоматизации инструментирования программ: выпускная квалификационная работа магистра: направление 09.04.01 «Информатика и вычислительная техника» ; образовательная программа 09.04.01_15 «Технологии проектирования системного и прикладного программного обеспечения»
Авторы: Онищук Михаил Петрович
Научный руководитель: Ицыксон Владимир Михайлович
Другие авторы: Новопашенный Андрей Гелиевич
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2020
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: инструментирование; txl; трансформация программного кода; синтез программного кода; предметно-ориентированный язык; instrumentation; source code transformation; source code synthesis; dsl
Тип документа: Выпускная квалификационная работа магистра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Магистратура
Код специальности ФГОС: 09.04.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
Ссылки: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-763
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\6153

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

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

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

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

Аннотация

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

This work is devoted to the study of the process of instrumenting the source code of programs and evaluating the possibilities for building a tool that allows user to perform such process for software that was created using various programming languages. In this work, an approach was developed to solve the problem of instrumentation of the source text, based on a top-down single-pass method in conditions of complete availability of information to determine the working context specified by the end user. The developed approach was implemented as a prototype of an instrumentation system generator, which was further tested in several languages with structured programming paradigm. The scientific novelty of this work is to consider and analyze the possibility of building an extensible multi-language system for instrumentation of source texts of programs created using various programming languages. The results of this work can be used in the practical implementation of a universal multilingual automated instrumentation system.

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

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

Оглавление

  • СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
  • ВВЕДЕНИЕ
  • 1. Обзор и анализ систем инструментирования программ
    • 1.1. Понятие инструментирования
      • 1.1.1. Пример задачи инструментирования
      • 1.1.2. Достоинства и недостатки различных вариантов инструментирования
    • 1.2. Обзор существующих средств инструментирования
      • 1.2.1. Критерии обзора
      • 1.2.2. GCC Gcov
      • 1.2.3. Testwell CTC++ Preprocessor
      • 1.2.4. BullseyeCoverage
      • 1.2.5. Google Web Tracing Framework
      • 1.2.6. Froglogic Squish Coco CoverageScanner
    • 1.3. Итоги
    • 1.4. Выводы
  • 2. Постановка задачи и выбор средств реализации
    • 2.1. Задача инструментирования исходных текстов программ
      • 2.1.1. Требования к разрабатываемому подходу
      • 2.1.2. Требования к прототипу
    • 2.2. Анализ задач и выбор подходов к решению
      • 2.2.1. Выполнение трансформаций текста программ
      • 2.2.2. Обработка деревьев разбора
      • 2.2.3. Контексты инструментирования
      • 2.2.4. Ограничения выбранного подхода
    • 2.3. Выводы
  • 3. Проектирование генератора систем инструментирования
    • 3.1. Принцип работы системы инструментирования
      • 3.1.1. Аннотация грамматики языка
      • 3.1.2. Фрагменты программного кода
      • 3.1.3. Правила инструментирования
      • 3.1.4. Пользователи системы
      • 3.1.5. Выходные артефакты генератора
      • 3.1.6. Обработка исключительных ситуаций
    • 3.2. Выводы
  • 4. Реализация генератора систем инструментирования
    • 4.1. Работа системы инструментирования
      • 4.1.1. Аннотация грамматики языка
      • 4.1.2. Фрагменты программного кода
      • 4.1.3. Правила инструментирования
      • 4.1.4. Интерфейс командной строки
      • 4.1.5. Обработка исключительных ситуаций
    • 4.2. Синтез цепочек TXL функций
      • 4.2.1. Функции сбора информации
      • 4.2.2. Функции фильтрации по контексту
      • 4.2.3. Функции уточнения контекста
      • 4.2.4. Функции инструментирования
      • 4.2.5. Вспомогательные TXL функции
    • 4.3. Выводы
  • 5. Тестирование генератора систем инструментирования и анализ результатов
    • 5.1. Методика испытаний
    • 5.2. Программа испытаний
      • 5.2.1. Языки программирования
      • 5.2.2. Проекты с открытым исходным кодом
    • 5.3. Протокол испытаний
      • 5.3.1. Java
      • 5.3.2. Python
      • 5.3.3. C++
      • 5.3.4. Object Pascal
    • 5.4. Выводы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

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

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