Иногда наши потенциальные клиенты интересуются примерами успешных внедрений PVS-Studio в различных компаниях. Этот интерес понятен. После Case Study от Microsoft в стиле "команда Формулы-1 McLaren начала использовать новый SQL Server и у нее настолько улучшились результаты..." хочется действительно увидеть пользу от того или иного инструмента.
Однако небольшим компаниям (к которым мы и относимся) довольно трудно подготовить такие материалы из-за организационных и юридических моментов.
Во-первых, дело в способе продажи продукта. Мы продаем свое решение через интернет, и не всегда покупку осуществляет конечный пользователь. Например, какая-нибудь крупная компания (типа Intel) покупает лицензию через какого-нибудь реселлера (например, SHI). Все это происходит без участия людей с нашей стороны. И хотя мы видим, что купила такая-то компания для такого-то клиента, то, скорее всего, имеющийся контакт клиента – это всего лишь отдел закупок. Повторюсь, с конечным пользователем иногда даже не удается пообщаться.
Во-вторых, юридический аспект очень часто не позволяет сотрудникам компании-клиента раскрывать публично, к примеру, организацию инфраструктуры разработки: сколько и каких систем сборки используется, какие системы управления, сколько разработчиков всего участвуют в процессе и т.п. Если Microsoft может "продавить" согласование всех этих данных с руководством McLaren, то для небольших организаций это довольно трудно.
В связи с этим предоставить информацию об успешных внедрениях, а уж тем более о найденных с помощью анализатора кода ошибках, представляется практически невозможным.
Однако мы видим другой способ показать, что мы активно участвуем в интеграции PVS-Studio в процесс разработки, не оставляем своих клиентов один на один с нашим инстурментом. Мы можем рассказать о тех доработках, которые мы делаем для них по их просьбе.
Прежде всего, мы всегда дорабатываем анализатор, если какие-то фрагменты кода не обрабатываются им полностью. Может показаться, что это недостаток инструмента – поддержка языка не на 100%, однако на практике ни один анализатор не может похвастаться поддержкой всех типов шаблонов или синтаксиса C++0x, да и даже в компиляторах бывают ошибки. Мы всегда оперативно и качественно можем исправить ошибки, связанные с неполным разбором кода.
Некоторым клиентам бывает нужна диагностика специфических ошибок. Иногда они сами предлагают правила диагностики, иногда – только показывают ошибки, а правила уже мы формулируем сами. Но в любом случае реализация правил диагностики под конкретного клиента – очень важная часть нашей поддержки.
Удобная интеграция анализатора кода в процесс разработки – залог удовлетворения от его использования. По просьбам клиентов были реализованы следующие возможности:
В заключение стоит сказать, что мы всегда и быстро помогаем пользователям с любыми проблемами, так как пока являемся небольшой компанией :-).