Table | Card | RUSMARC | |
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
В данной работе решается задача портирования инфраструктуры курса «Статический анализ ПО» на язык программирования 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.
Document access rights
Network | User group | Action | ||||
---|---|---|---|---|---|---|
ILC SPbPU Local Network | All | |||||
Internet | Authorized users SPbPU | |||||
Internet | Anonymous |
Table of Contents
- СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
- ВВЕДЕНИЕ
- 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. Тестирование работы анализаторов
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ. ЛИСТИНГИ КОДА
Usage statistics
Access count: 6
Last 30 days: 0 Detailed usage statistics |