Отзыв на дипломную работу студента 444 группы Ефремова Ростислава Сергеевича Дипломная работа Ефремова Р.С. посвящена одной из центральных проблем многопоточных приложений, а именно, идентификации состояний гонки. Дипломант остановил своё внимание на многопоточных приложениях, предназначенных для исполнения в среде операционной системы z/OS. Сложность стоявшей перед Ростиславом Сергеевичем задачи усугублялась тем, что он должен был сосредоточиться на многопоточных приложениях, либо разрабатывавшихся на весьма специфическом языке ассемблера IBM mainframe, либо существующих лишь в виде объектных модулей, которые были получены в результате трансляции ассемблерных программ. Такая постановка задачи связана с большим количеством приложений, которые разрабатывались не только в среде самой операционной системы z/OS, но и были унаследованы от предыдущих версий операционной системы (OS/39, MVC и т.д.). Дело в том, что старые приложения всё ещё продолжают использоваться, хотя время от времени их приходится модифицировать вслед за изменениями тех или иных физических устройств и соответствующими изменениями операционной системы, а каждое изменение старого кода может привести к появлению ошибок. Таким образом, приложение, прототип которого представлен в качестве дипломной работы, в первую очередь будет крайне полезно программистам, занимающимися сопровождением старого кода. При подготовке дипломной работы Ефремов Р.С. изучил и произвёл сравнение значительного количества алгоритмов, часть которых требуют использования методов статического анализа кода исследуемого приложения для идентификации областей памяти, могущих участвовать в состоянии гонки, тогда как другие используют методы динамического анализа приложения. Реализация статического анализа ассемблерного кода весьма сложна, в частности, наличие в языке ассемблера инструкций динамического перехода затрудняет построение графа потока управления. Значительный интерес представляют динамические методы идентификации состояний гонки, один из которых (Datacollider) и реализован в дипломной работе. Во время работы над дипломом Ефремов Р.С. продемонстрировал качества, необходимые системному программисту, например, такие как быстрое понимание поставленной перед ним задачи, способность тщательного исследования и сравнения существующих методов решения, хорошее знание операционной системы, в среде которой должно работать разрабатываемое приложение, способность адекватно обосновывать необходимость принятия тех или иных решений, свободное владение необходимыми языками программирования: JCL (Job Control Language), REXX (Restructured Extended Executor), HLASM (High Level Assembler), способность к анализу полученных результатов. Очень привлекательным выглядит хорошее знание русского языка. Дипломная работа написана на хорошем русском языке и с точки зрения стиля и с точки зрения грамматики. Считаю, что представленная дипломная работа несомненно заслуживает оценки ОТЛИЧНО, а Ефремов Ростислав Сергеевич присвоения степени бакалавра. Рекомендую Ефремова Р.С. для поступления в магистратуру. Зав.кафедрой системного программирования СПбГУ Доктор физ-мат наук, А.Н.Терехов