Статический анализатор Svace


Скачать сборник технологий

Статический анализатор 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»

Блог «Инструмента статического анализа «Svace»

Справочный центр «Сервера для хранения и обработки результатов статического анализа Svacer»

Багтрекер (по вопросам создания учетной записи напишите по адресу svace@ispras.ru)

По вопросам определения стоимости, приобретения и использования обращайтесь по адресу: sdl@ispras.ru.

Разработчик/участник

Компиляторные технологии

Перейти к списку всех технологий