• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Анализ программ

2022/2023
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс по выбору
Когда читается:
4-й курс, 3 модуль

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

Аннотация

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

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

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

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

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

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

  • Раздел 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