Проекты:
К.ф.-м.н. Алексей Бородин, Дмитрий Журихин, Сергей Сыромятников | — Анализ программ на различных языках программирования (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. |