Родился 22.01.1976, г. Петропавловск Камчатской обл.
Окончил физико-математическую школу №27 г. Чебоксары Чувашской Республики (1993), факультет вычислительной математики и кибернетики МГУ (1998, с отличием), аспирантуру факультета ВМК (2001).
Кандидат физико-математических наук (2003), тема диссертации: «Исследование и разработка методологии маскировки программ» (научный руководитель С. С. Гайсарян).
Работает в Московском университете с 2001 г. в должности ассистента, с 2007 г. в должности доцента.
Подготовил и прочел два специальных курса по алгоритмам дискретной оптимизации и по алгоритмам оптимизации программ. Ведёт занятия по практикуму по курсам «Операционные системы», «Системы программирования» на 2 курсе. Руководит курсовыми и дипломными работами студентов. Принимает активное участие в организации олимпиад школьников и приеме вступительных экзаменов на факультет. Руководит педагогической практикой у аспирантов.
Область научных интересов включает в себя алгоритмы и методы анализа программного кода, алгоритмы и методы обратной инженерии кода, алгоритмы и методы динамического анализа кода.
Участвует в подготовке и проведении студенческих олимпиад по программированию в МГУ.