Статический анализатор Svace
Документация и поддержка | В реестре российского ПО | Оформить лицензию
Svace – необходимый инструмент жизненного цикла разработки безопасного ПО, основной статический анализатор компании Samsung. Обнаруживает более 50 классов критических ошибок в исходном коде. Поддерживает языки C, C++, C#, Java, Kotlin и Go. Включён в Единый реестр российского ПО (№4047). Поставляется с web-интерфейсом просмотра предупреждений Svacer (Svace History Server).
Особенности и преимущества
Svace – постоянно развивающийся инновационный продукт, основанный на многолетних исследованиях. Объединяет ключевые качества иностранных аналогов (Synopsis Coverity Static Analysis, Perforce Klocwork Static Code Analysis, Fortify Static Code Analyzer) с уникальным использованием открытых промышленных компиляторов в целях максимальной поддержки новых стандартов языков программирования.
Svace – это:
- Высокое качество анализа:
- точное представление исходного кода (благодаря интеграции с любой системой сборки);
- полное покрытие всех путей с учетом связей между функциями для поиска сложных ошибок;
- высокий процент истинных срабатываний (60-90%).
- Масштабируемость и высокая скорость:
- параллельный анализ с использованием всех доступных процессорных ядер;
- возможность анализировать системы из десятков миллионов строк кода (анализ мобильной ОС Tizen 7 из 57 миллионов строк занимает 7-8 часов основным движком Svace и 9-10 часов всеми движками);
- поддержка не только полного, но и инкрементального анализа системы (подразумевает быструю повторную проверку недавно изменённого кода).
- Ускоренная кастомизация (конфигурация существующих детекторов, а также написание индивидуальных, доступных только данному заказчику; создание специфических интерфейсов);
- Ускоренная адаптация к работе с новым окружением (добавление новых компиляторов в течение 1-2 недель, в сложных случаях – до 2 месяцев);
- Полная совместимость с нормативными документами и требованиями регуляторов (ФСТЭК РФ).
- Возможность использования для реализации обеспечительных мер ГОСТ Р 56939-2016 и процедур «Методики выявления уязвимостей и недекларированных возможностей в программном обеспечении» ФСТЭК России (при необходимости сертификации ПО для использования на территории России).
- Svacer − комплексный пользовательский интерфейс просмотра предупреждений, сервер хранения и управления результатами анализа. Поддерживает многопользовательский режим и различные фильтры данных. Svacer – это:
- Широкие возможности сравнения и разметки результатов, доступ к результатам по API, выгрузки отчетов в формате PDF, CSV, JSON.
- Поддержка LDAP для аутентификации пользователей.
- Интеграция с Visual Studio Code и предоставление интерфейса командной строки для интеграции в типовые CI/CD-процессы.
- Аннотация результатов работы пользовательскими атрибутами и файлами.
- Поддержка формата SARIF, позволяющая импортировать результаты работы иных статических анализаторов.
- Импорт и экспорт результатов с разметкой в исходный код.
- Поддержка работы в контейнерах.
Для кого предназначен Svace?
- Компании, нацеленные на разработку ПО с высокой степенью надёжности и безопасности.
- Компании, которые нуждаются в сертификации разрабатываемого ПО.
- Сертификационные лаборатории.
Опыт внедрения
Svace – основной анализатор Samsung с 2015 года. Применяется для проверки собственного ПО компании на базе ОС Android и исходного кода ОС Tizen, которая используется в смартфонах, информационно-развлекательных системах и бытовой технике Samsung. С 2017 года Svace проверяет все изменения, присланные для рецензирования и включения в ОС Tizen. C 2020 года Svace применяется также в компании Huawei.
В России Svace используется более чем в 100 компаниях и лабораториях, в том числе в ОАО «РусБИТех», АО «Лаборатория Касперского», Postgres Professional, ООО «Код Безопасности», МВП «СВЕМЕЛ» и др.
Поддерживаемые платформы и архитектуры
- Платформы, на которых работает анализатор Svace: Linux/x64 (версия ядра 3.10+, версия glibc 2.17+), Linux/ARM 64 (Ubuntu 18.04), Windows (начиная с Windows 7 SP 1 с обновлением KB2533623) и WSL (версий 1 и 2); macOS/x64 (версия 10.10+, язык C# не поддерживается); архитектура x86 (только перехват сборки).
- Архитектуры, для которых анализируется исходный код: для C/C++ – Intel x86/x86-64, ARM/ARM64, MIPS/MIPS64, Power PC/Power PC 64, RISC-V 32/64, SPARC/SPARC64, Hexagon (генерация кода через Clang); Эльбрус, AEON, TriCore, HIDSP, OpenRISC (генерация кода через одну из предыдущих архитектур); для Go – Intel x86-64 на ОС Linux; для C#, Java, Kotlin – платформы, на которых работает анализатор.
- Платформы и архитектуры, на которых работает Svacer: архитектура x86-64; ОС Linux (версия ядра 3.10+, версия glibc 2.17+), ОС Windows (начиная с Windows 10) и WSL (версий 1 и 2); macOS на x86-64 (начиная с версии 10.12 Sierra).
Поддерживаемые компиляторы
- Для С/С++ (версий до C++17): GCC (GNU Compiler Collection), Clang (LLVM compiler), Microsoft Visual C++ Compiler, RealView/ARM Compilation Tools (ARMCC), Intel C++ Compiler, Elbrus C/C++ Compiler, Wind River Diab Compiler, Keil CA51 Compiler Kit, NEC/Renesas CA850, CC78K0(R) C Compilers, C/C++ Compiler for the Renesas M16C Series and R8C Family, Panasonic MN10300 Series C Compiler, C compiler for Toshiba TLCS-870 and T900 Family, Samsung CalmSHINE16 Compilation Tools, Texas Instruments TMS320C6* Optimizing Compiler, Digital Mars C and C++ Compiler, Green Hills compiler for ARM, TASKING C compiler for TriCore, CEVA Toolbox for CEVA DSP cores, IAR C/C++ Compiler for ARM / Renesas RL78 MCU, CodeWarrior Development Studio for StarCore DSPs, Open Watcom C/C++ compiler, Freescale CodeWarrior, Cadence Tensilica Xtensa C/C++ Compiler.
- Для С# (версий до C# 10): Roslyn, Mono.
- Для Java (версий до Java 17): OpenJDK Javac Compiler, Eclipse Java compiler.
- Для Kotlin: Kotlin 1.6.
- Для Go: Go 1.17.
Схема работы

Документация
Справочный центр «Инструмента статического анализа «Svace»
Блог «Инструмента статического анализа «Svace»
Справочный центр «Сервера для хранения и обработки результатов статического анализа Svacer»
Багтрекер (по вопросам создания учетной записи напишите по адресу svace@ispras.ru)
По вопросам использования обращайтесь по адресу: svace@ispras.ru или в Telegram-чат.
Разработчик/участник
Перейти к списку всех технологий