В выпускной квалификационной работе рассматривается задача построения точного трассирующего сборщика мусора для языка программирования C++ на уровне библиотеки с некооперативным компилятором. Стоит отметить, что в сообществе по сей день нет однозначного мнения о том, должна ли сборка мусора присутствовать в языке C++, и если да, то каких именно принципов она должна придерживаться. Тем не менее, в новых стандартах языка (c++-11 и c++-14) чётко прослеживается тенденция к автоматизации процесса управления памятью, а задача, поставленная автором работы, является актуальной темой исследования последних двух десятилетий. Во введении автор описывает поставленную задачу, показывая её актуальность. Далее в обзорной части автор приводит исчерпывающий обзор методов и утлит, предлагающих различные подходы к сборке мусора для языка C++. Е.А.Моисеенко взял за основу уже существующее решение, обладающее рядом недостатков, таких как “почти точность”, т.е. использование консервативных эвристик при построении корневого множества, и отсутствие инкрементальности и параллельности сборки мусора, и успешно справился с их устранением, что делает инструмент, написанный в рамках выпускной квалификационной работы, пригодным для разработки приложений, чувствительных к величине пауз, вызванных работой сборщика мусора. К ним можно отнести все интерактивные приложения, активно взаимодействующие с пользователем. Тем не менее, у рецензента имеется ряд замечаний к работе Е.А.Моисеенко: 1. Устройство программной кучи, описанное в разделе 2, представляет собой структуру изолированного хранения (англ. segregated storage). Подобная структура позволяет эффективно распараллеливать фазу очистки (англ. sweep), что позволило бы уменьшить паузы при работе сборщика. К сожалению, это не было сделано автором. 2. В своей работе Е.А.Моисеенко акцентирует внимание на инкрементальности сборки мусора, не рассматривая другую возможность снижения продолжительности пауз в работе приложения, вызванных сборкой мусора ― частичная сборка. Более того, представленное устройство кучи, позволяет без особого труда внедрить такую сборку мусора. 3. Сборщик мусора, описанный автором, не будет работать с объектами большого размера (больше 2^32 байт). Автор сам указывает на этот факт, предлагая решение, которое однако не было реализовано в данном инструменте. Вышеуказанные замечания не являются недостатками работы, проделанной Е.А.Моисеенко, а служат предложениями и пожеланиями рецензента к направлению для дальнейших исследований. Стоит отдельно отметить, что автор внимательно и аккуратно подошёл к вопросу оценки результатов своей работы, приведя соответствующие заключения в разделе апробация. Проверка ВКР на предмет наличия/отсутствия неправомерных заимствований показала, что работа неправомерных заимствований не содержит. На основании вышеизложенного можно заключить, что выпускная квалификационная работа соответствует основным требованиям, предъявляемым к выпускной квалификационной работе бакалавра, и заслуживает оценки «отлично».