Бакалавриат
2023/2024
Анализ программ
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс по выбору (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
4-й курс, 3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Тимофеева Мария Александровна
Язык:
русский
Кредиты:
3
Контактные часы:
32
Программа дисциплины
Аннотация
Является дисциплиной по выбору. Данная дисциплина позволит студентам получить навыки статического анализа программ и знания о том, как делать выводы о корректности работы программы. Для освоения дисциплины студентам необходимы знания, полученные в результате изучения дисциплин «Метавычисления», «Семантики языков программирования», «Компиляторы».
Цель освоения дисциплины
- Подготовка студентов к теоретическому и практическому применению методов анализа программного обеспечения (ПО)
- Получение студентами знаний в области статического анализа ПО, моделей кода, систем типов и их применения в анализе ПО
Планируемые результаты обучения
- Знает основные способы представления программного кода в применении к анализу, основные алгоритмы и методы анализа ПО.
- Умеет решать типичные задачи анализа ПО, как в рамках средств компиляции и трансляции, так и в рамках отдельно стоящих инструментов анализа.
- Имеет навыки разработки и применения анализаторов кода под конкретную прикладную задачу, язык программирования и ограничения.
Содержание учебной дисциплины
- Раздел 1. Основы статического анализа программ
- Раздел 2. Расширенные вопросы статического анализа программ
Элементы контроля
- Домашнее задание №2Домашнее задание №2 выдается студентам в одном варианте из 3 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
- Домашнее задание №5Домашнее задание №5 выдается студентам в одном варианте из 2 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
- Домашнее задание №4Домашнее задание №4 выдается студентам в одном варианте из 5 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
- Устный экзаменЭкзамен проводится в устной форме (опрос по материалам курса). По просьбе преподавателя студент должен быть готов выполнить некоторые задания в письменном виде.
- Домашнее задание №1Домашнее задание №1 выдается студентам в одном варианте из 4 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
- Домашнее задание №3Домашнее задание №3 выдается студентам в одном варианте из 3 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
- Домашнее задание №6Домашнее задание №6 выдается студентам в одном варианте из 2 заданий. Каждому заданию присвоен свой балл. Форма представления обучающимися домашнего задания - представленные в письменном виде ответы на вопросы и программный код в системе контроля версий.
Промежуточная аттестация
- 2023/2024 учебный год 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