*Цель работы и результаты* Целью данной работы было интегрировать анализ заражений в существующую символьную виртуальную машину KLEE. Одной из проблем анализаторов в том, что они дают много ложноположительных срабатываний: указывают на дефекты, которых на самом деле нет в коде. Тем не менее анализаторы позволяют (в зависимости от сложности и качества пользовательских конфигураций) находить сложные дефекты, такие как SQL инъекции. Классическое символьное исполнение, в том числе и его версия, реализованная в KLEE, позволяет находить узкий круг дефектов, однако практически не даёт ложноположительных срабатываний. Поэтому в данной работе хотелось включить анализ заражений в символьную машину KLEE, чтобы получить инструмент, позволяющий находить широкий класс дефектов и при этом снизить число ложноположительных срабатываний. В результате работы студента была получена модификация символьной виртуальной машины KLEE, которая успешно находит один новый тип дефектов на публичном тестовом наборе данных C программ Juliet, и при этом не даёт ложноположительных результатов. Таким образом, изначальная цель частично была достигнута. Однако поскольку реализация и эксперименты были закончены в последний момент перед защитой, в проделанной работе остаётся ряд значительных недостатков. Во-первых, эксперименты проведены не до конца -- например, неизвестно, все ли дефекты из набора Juliet из поддержанного класса находятся реализованным инструментом. Во-вторых, остаются вопросы к качеству написанного кода. В-третьих, не проведено профилирование и оптимизация реализованного кода: плохая реализация может значительно замедлить символьную виртуальную машину. В-четвертых, не проведено сравнение с существующей реализацией анализа загрязнений в KLEE. На данный момент получен рабочий прототип, но его доработка может потребовать существенных усилий. *Характеристика студента* В целом ожидания о входных знаниях студента оправдались: умение писать код на C++, работать с системой контроля версий git, писать скрипты для постановки экспериментов и измерения времени. Студент достаточно быстро осваивала новый материал, в частности, инфраструктуру LLVM, taint анализ, код символьной виртуальной машины KLEE. Общение со студентом происходило как путём личных встреч, так и через звонки и переписку. К сожалению, очень часто личных встреч не было по тем или иным причинам со стороны студента. С одной стороны со студентом было работать комфортно: Мария Сергеевна принимала задачи, разбиралась с ними самостоятельно и их решала. С другой стороны, из-за отсутствия ясного описания прогресса вкупе с частым отсутствием личных встреч ожидаемый прогресс по задачам не достигался. *Финальная оценка* Таким образом, Мария Сергеевна изучила материал, начала работу над проектом, но полученные результаты минимальны. Студент потратил на работу в общей сложности около трети года, взаимодействие было нерегулярными, так как студент пропадал на месяцы. Поэтому рекомендую за работу поставить оценку «удовлетворительно» (или 3 из 5).