Ошибки в программах серьезно влияют на качество, приводя к сбоям в работе, а в некоторых случаях (уязвимости) – к перехвату контроля над системой. Сложность поиска ошибок существенно возросла в последние 20 лет, т.к. размеры программ достигли сотен миллионов строк кода. Предложено множество методов поиска ошибок, и их совместное применение регламентируется созданными циклами безопасной разработки ПО: например, Microsoft Security Development Lifecycle, ГОСТ Р 56939-2016 «Защита информации. Разработка безопасного программного обеспечения. Общие требования».
Одним из признанных методов поиска ошибок, обязательным к применению в упомянутых выше циклах разработки, является статический анализ исходного кода программ. Преимуществами метода являются:
Недостатком является наличие ложных предупреждений об ошибках, от которых нельзя полностью избавиться из-за принципиальных ограничений технологии статического анализа.
Институтом системного программирования РАН разработан инструмент статического анализа Svace, удовлетворяющий всем требованиям для анализатора промышленного качества:
Инструмент Svace поддерживает языки программирования C/C++, Java, C# (C# может также предоставляться как отдельный инструмент), операционные системы Linux, Windows, а также анализ программ, собираемых на платформах Intel x86/x86-64 Linux/Windows, ARM/ARM64. Для языков C/C++ поддерживаются популярные компиляторы ОС Linux/Windows и множество компиляторов для встраиваемых систем.
Инструмент Svace поддерживает обнаружение большинства известных классов критических ошибок (всего более 50 типов ошибок): разыменование нулевого указателя, ошибки управления динамической памятью, переполнение буфера, деление на ноль, утечки ресурсов (память / дескрипторы), неинициализированные переменные, ошибки использования блокировок. Кроме того, реализовано более сотни легковесных детекторов для ошибок кодирования, неверного использования интерфейсов, соблюдения стандартов кодирования.
Фундаментальные исследования по технологиям статического анализа, реализованные в инструменте Svace, ведутся в ИСП РАН с 2002 года. С 2009 года в партнерстве с компанией Samsung ведутся работы по внедрению инструмента в цикл разработки программ в Samsung. В 2015 году Svace внедрен как основной инструмент статического анализа в Samsung, в том числе он используется для проверки собственного ПО Samsung на базе ОС Android и исходного кода ОС Tizen, применяемого для мобильных телефонов, телевизоров и других устройств компании.
Кроме того, технологии анализа Svace используются во внутренних проектах ИСП РАН по анализу кода.
Все интеллектуальные права на инструмент Svace принадлежат ИСП РАН.
Класс программного обеспечения: Среды разработки, тестирования и отладки, Системы анализа исходного кода на закладки и уязвимости, Средства обеспечения информационной безопасности
Добавлен в единого реестра российских программ 11 Декабря 2017 Приказ Минкомсвязи России от 07.12.2017 №680
Владелец - российская некоммерческая организация ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК, Собственная разработка
| Функциональность: | 5/5 |
| Удобство использования: | 5/5 |
| Ценность и стоимость: | 4/5 |
| Обслуживание клиентов: | 5/5 |
| Доступность обучения: | 4/5 |
| Желание рекомендовать: | 4/5 |
В целом: Продукт улучшил прозрачность и отчетность по проектам.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК