Российская академия наук улучшает Android для Samsung

Samsung пользуется разработкой Института системного программирования Российской академии наук (ИСП РАН) под названием Svace, сообщили «Ведомостям» директор ИСП РАН Арутюн Аветисян и GR-директор российского офиса Samsung Марат Гуриев. Svace ищет ошибки в исходном коде операционных систем Android, а также в кодах собственных приложений Samsung под Android и операционной системы Tizen авторства Samsung, объясняют они. Компания Samsung вложила в разработку той технологии более $10 млн, однако права на сам продукт остались за ИСП РАН.

Фундаментальными исследованиями в области анализа программного кода ИСП РАН занимается с 2002 года, Samsung заинтересовалась этой разработкой в 2009 году. В обмен на инвестиции южнокорейский производить получит возможность использовать Svace бесплатно и с 2015 года это единственный анализатор кода, который используется Samsung. Впрочем, южнокорейский гигант не получит эксклюзивного права на доступ к технологии, в числе крупных клиентов Института системного программирования Российской академии наук также присутствуют Hewlett-Packard, Huawei, Intel.

В плане концепции и основной функциональность Svace не уникальный продукт на мировом рынке. Софт для поиска ошибок нужен всем разработчикам, так что существует несколько конкурирующих систем: Coverity от Synopsys, ClocWork от Rogue Wave, Fortify от Hewlett-Packard и израильская CheckMark. Каждый крупный разработчик софта пользуется одним из этих продуктов, чтобы повышать качество кода и его безопасность. С помощью таких систем анализируется код, написанный на языках C, C++, C# и Java. В среднем при написании 1000 строчек кода программист совершает около 20 ошибок, а благодаря Svace и подобным продуктам их число можно сократить в несколько раз.

Применение инструментов анализа кода в настоящий момент считается обязательным условием про разработки безопасного программного обеспечения. Версии такого программного обеспечения  как прошивка смартфонов в целом и отдельных их программные компоненты выходят очень часто, а при такой скорости человек физически не способен вручную найти все ошибки в коде. Софт, состоящий из миллионов строк кода, требует автоматизации базовой проверки на ошибки.