Название базовой системы (платформы): | Tizen (российский дистрибутив) |
Разработчики: | Институт системного программирования (ИСП РАН) |
Дата премьеры системы: | 2017 |
SharpChecker – платформа статического анализа программ на языке C#, в марте 2017 г. включено в единый реестр отечественного ПО. Она создана для поиска ошибок в программном коде и обладает высокой эффективностью по сравнению с существующими аналогами.
«Человеку свойственно ошибаться, - отмечает директор ИСП РАН Арутюн Аветисян, - а программный код пишут живые люди. Чаще всего это высококлассные специалисты, но и они могут допускать ошибки. SharpChecker – то средство, которое может отчасти компенсировать это свойство человеческой природы. Инструмент содержит как анализатор кода, так и готовые компоненты для внедрения в производственный цикл разработки ПО. Это позволяет использовать технологию и программистам для исправления ошибок в разрабатываемом проекте, и их руководителям как ещё одну динамическую метрику, хорошо характеризующую качество продукта».
Фундаментальные исследования по технологиям статического анализа ведутся в ИСП РАН с 2002 г. За полтора десятилетия в этом направлении достигнуты успехи, в частности, разработан анализатор Svace. Этот инструмент позволяет находить ошибки и потенциальные уязвимости в исходном коде программ на языках Си/Си++. Среди его особенностей: простота использования, широкий набор поддерживаемых типов предупреждений, масштабируемость до программ в миллионы строк кода и приемлемое качество анализа - 30-80% истинных предупреждений. Этот продукт активно используется корпорацией Samsung как основное средство статистического анализа - для поиска ошибок в исходном коде операционных систем Android, собственных приложений Samsung и операционной системы Tizen.
SharpChecker стал следующим шагом в этом направлении. Разработанная ИСП РАН платформа сегодня более чем конкурентоспособна среди аналогов, представленных на мировом рынке – Coverity от американской компании Synopsys, Klocwork, выпущенный американской же Rogue Wave, Fortify от Hewlett Packard, израильской Checkmarx. В 2015 г. SharpChecker был внедрен в компании Samsung как часть инструмента Svace. Впрочем, этот статический анализатор может использоваться и самостоятельно.
«Сегодня применение инструментов анализа кода обязательно при разработке безопасного программного обеспечения, - говорит Валерий Игнатьев, старший научный сотрудник ИСП РАН. - Софт, состоящий из миллионов строк кода, практически невозможно проверить вручную на наличие ошибок – утечек ресурсов и памяти, разыменований null, неправильного использования атрибутов, ошибок, связанных с параллелизмом исполнения и пр. Поэтому инструмент, способный анализировать подобные объёмы информации, не просто полезен, но необходим. Повышение качества и безопасности кода с каждым годом становится все более важной задачей. Разумеется, SharpChecker – не панацея против погрешностей в коде, он не заменяет, а дополняет другие методы тестирования ПО и поиска ошибок, но он позволяет исправлять ошибки на самых ранних стадиях, существенно снижая общую стоимость разработки, и делает это эффективно».