We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Program Analysis

2022/2023
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Delivered at:
Department of Informatics
Course type:
Elective course
When:
4 year, 3 module

Instructor


Беляев Михаил Анатольевич

Программа дисциплины

Аннотация

Является дисциплиной по выбору. Данная дисциплина позволит студентам получить навыки статического анализа программ и знания о том, как делать выводы о корректности работы программы. Для освоения дисциплины студентам необходимы знания, полученные в результате изучения дисциплин «Метавычисления», «Семантики языков программирования», «Компиляторы».
Цель освоения дисциплины

Цель освоения дисциплины

  • Подготовка студентов к теоретическому и практическому применению методов анализа программного обеспечения (ПО)
  • Получение студентами знаний в области статического анализа ПО, моделей кода, систем типов и их применения в анализе ПО
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает основные способы представления программного кода в применении к анализу, основные алгоритмы и методы анализа ПО.
  • Умеет решать типичные задачи анализа ПО, как в рамках средств компиляции и трансляции, так и в рамках отдельно стоящих инструментов анализа.
  • Имеет навыки разработки и применения анализаторов кода под конкретную прикладную задачу, язык программирования и ограничения.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Раздел 1. Основы статического анализа программ
  • Раздел 2. Расширенные вопросы статического анализа программ
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание №1
    Домашнее задание №1 выдается студентам в одном варианте из 4 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
  • неблокирующий Домашнее задание №2
    Домашнее задание №2 выдается студентам в одном варианте из 3 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
  • неблокирующий Домашнее задание №3
    Домашнее задание №3 выдается студентам в одном варианте из 3 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
  • неблокирующий Домашнее задание №4
    Домашнее задание №4 выдается студентам в одном варианте из 5 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
  • неблокирующий Домашнее задание №5
    Домашнее задание №5 выдается студентам в одном варианте из 2 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
  • неблокирующий Домашнее задание №6
    Домашнее задание №6 выдается студентам в одном варианте из 2 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
  • блокирующий Устный экзамен
    Экзамен проводится в устной форме (опрос по материалам курса). По просьбе преподавателя студент должен быть готов выполнить некоторые задания в письменном виде.
Промежуточная аттестация

Промежуточная аттестация

  • 2022/2023 учебный год 3 модуль
    Преподаватель учитывает работу на практических занятиях и оценку за текущий контроль (домашние задания). Результирующая оценка за дисциплину рассчитывается следующим образом: ОРезультирующая = 0,45 * Онакопленная + 0,55 * Оэкзамен, где Онакопленная рассчитывается как взвешенная сумма всех форм текущего контроля. Онакопленная = (Од/з1 + Од/з2 + Од/з3 + Од/з4 + Од/з5 + Од/з6) / 6
Список литературы

Список литературы

Рекомендуемая основная литература

  • Mukherjee, S., & Blasband, D. (2016). Source Code Analytics With Roslyn and JavaScript Data Visualization. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1450659

Рекомендуемая дополнительная литература

  • Forest, E. (2016). From Tracking Code to Analysis : Generalised Courant-Snyder Theory for Any Accelerator Model. Japan: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1178523
  • Hyde, R. (2004). Write Great Code, Volume 1 : Understanding the Machine. San Francisco, CA: No Starch Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=440094
  • van der Linden, M. A. (2007). Testing Code Security. Boca Raton, FL: Auerbach Publications. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=928213

Авторы

  • Спицина Кристина Станиславовна
  • Кузнецов Антон Михайлович