Проекты:

К.ф.-м.н. Алексей Бородин, Дмитрий Журихин, Сергей Сыромятников— Анализ программ на различных языках программирования (C/C++/Java/Kotlin/Go);
— Автоматическое исправление исходного кода на основе предупреждений, выданных статическим анализатором;
— Девиртуализация вызовов Java/C++ методов;
— Разработка AST-детекторов ошибок в компиляторах Clang, JavaC и Kotlin;
— Разработка детекторов ошибок использования неинициализированной памяти;
— Поиск ошибок утечки приватных данных;
— Разработка обобщённого AST-анализатора для разных языков программирования (C/C++/Java/Kotlin/Go);
— Поиск ошибок на уровне классов для C++/Java;
— Анализ помеченных данных и детекторы на его основе;
— Статическое символьное выполнение и детекторы на его основе;
— Поиск ошибок целочисленного переполнения для программ на языках С и С++;
— Сравнительный анализ результатов работы статических анализаторов на открытом исходном коде;
— Методы повторного анализа кода.
К.ф.-м.н. Валерий Игнатьев1. Статический анализ. Поиск ошибок в программах на языке C# (SharpChecker/Svace):
— Разработка детекторов ошибок безопасности / потенциальных уязвимостей, таких как утечка данных, внедрение кода или данных, например, SQL injection.
— Повышение производительности анализатора за счет использования инкрементального режима решателя или нескольких решателей вместо z3.
— Разработка генератора автоматических исправлений (CodeFix) для популярных ошибок, обнаруживаемых в программах на C# (SharpChecker/Svace).
— Повышение точности анализа анонимных функций.
— Ранжирование (оценка истинности) предупреждений об ошибках с помощью методов машинного обучения на основе метрик кода и базы размеченных предупреждений.

2. Поддержка анализа нового языка программирования в svace на базе инфраструктуры для языка C#:
— Visual Basic
— PHP

3. Поиск ошибок безопасности в исходном коде на языках С и C++ методами статического анализа помеченных данных (Irbis):
— Улучшение интеграции со Svace.
— Фильтрация ложных предупреждений об ошибках с помощью поиска неконсистентности графе распространения помеченных данных для ошибки.
— Разработка менеджера ресурсов для достижения масштабируемости и эффективной работы на разных аппаратных платформах.
— Поддержка работы (этап перехвата сборки, этап анализа) в ОС Windows.