Отзыв научного руководителя на выпускную квалификационную работу студентки 471 группы Гарифуллиной Гузели Раифовны “Автоматическое исправление ошибок в программном коде” Автоматическое обнаружение и исправление ошибок в программном коде является давней мечтой разработчиков программного обеспечения. Однако, эта задача необъятна, а её сложность крайне высока. И всё же в последнее время появляется всё больше и больше исследований на эту тему, предлагаются новые подходы, в том числе основывающиеся на набирающих популярность методах машинного обучения. Среди них инструмент Prophet -- разработка исследователей из Массачусетского технологического института. Являясь наиболее развитым инструментов в области генерации исправлений на основе существующих автоматических тестов, Prophet в настоящее время способен исправлять лишь несколько самых простых ошибок, исправляемых изменениями одной-двух строк в исходном коде. Перед Гузелью Раифовной была поставлена задача расширить пространство исправляемых этим инструментом ошибок. Гузель Раифовна провела анализ публикаций авторов Prophet и исходного кода этой системы, разобралась в его устройстве и схеме работы. Был также проанализирован набор тестов, на которых проверяется работа инструмента, и внесён ряд изменений в исходный код Prophet, позволивший ему генерировать исправления для нового типа ошибок, заключающиеся в вынесении первого утверждения из функции в то место, где осуществляется её вызов. Для этого потребовалось изменить модуль локализации ошибок, модуль генерации исправлений, расширить пространство признаков и переобучить модель данных. К сожалению, на протяжении всей работы Гузель Раифовна испытывала большие сложности с организацией своей деятельности и управлением временем, поэтому удалось сделать сильно меньше планируемого. И тем не менее, хоть и не в полном объёме, но была решена довольно сложная инженерная задача, поэтому, на мой взгляд, работа заслуживает оценки “удовлетворительно”. к.т.н., доцент кафедры системного программирования СПбГУ Т.А.Брыксин