Проекты:

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

2. Генерация больших датасетов для дообучения и тестирования больших языковых моделей и других ML подходов:
— по результатам статического анализатора;
— метрики;
— абстрактное синтаксическое дерево;
— граф вызовов, граф зависимостей;
— символы, граф типов.

3. Использование больших языковых моделей в статическом анализе исходного кода.

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

5. Поиск ошибок по истории коммитов в репозитории.

6. Языково-независимый поиск ошибок вида «перепутанная переменная» в исходном коде с помощью методов машинного обучения. Верификация найденных предупреждений с помощью больших языковых моделей.