Мы развиваем технологии статического анализа, помогаем разработчикам улучшать качество, надёжность и защищённость исходного кода, и не забываем рассказывать про это.
На конференциях. Мы посетили с докладами более 175 конференций. Среди них CoreHard, DevGAMM, SECR и другие.
На нашем сайте. Мы публикуем результаты работы анализатора, рассказываем об опыте интеграции и пр.
В соцсетях. Рассказываем о себе, говорим о языках и даже обучаем. Заходите:
На тематичных ресурсах. О нас говорят на habr, в Java Annotated Monthly и пр.
Появилась идея сделать анализатор для диагностики ошибок миграции кода на 64-битные системы. В то время только появились 64-битные процессоры для домашних компьютеров, 64-битные операционные системы Windows и первый 64-битный C++ компилятор для Windows в составе Visual Studio 2005. На фоне волны 64-битных изменений мы хотели сделать инструмент, который быстро станет популярным, а мы заработаем кучу денег. Но не смогли. Быстро популярным инструмент не стал, да и деньги придут лишь через много лет работы и новых промахов.
Первый публичный релиз Viva64 1.00 в Интернете.
Выпустили плагин для Visual Studio 2008.
Основана компания ООО "СиПроВер" (OOO Program Verification Systems).
Выход Viva64 2.00.
Первая бета-версия VivaMP, анализатора проблем в многопоточных программах, построенных с использованием технологии OpenMP. У нас не получилось быстро с 64-битными ошибками, но на рынке начали появляться компьютеры с несколькоими ядрами. Для которых очевидно понадобится программное обеспечение, поддерживающее параллельную работу. Это наш новый шанс!
Выход VivaMP 1.00.
Выход PVS-Studio 3.00 - в котором Viva64 и VivaMP объединены в один продукт.
Занялись поддержкой стандарта C++11.
Выход бета-версии PVS-Studio 4.00, в которой появился новый набор правил статического анализа общего назначения (General Analysis, V501-V545). Изначально новые диагностики были бесплатными и задумывались как способ привлечь внимание к 64-битному и OpenMP анализаторам кода. Мы чуть не сделали главную ошибку.
Релиз PVS-Studio 4.00, в котором диагностики General Analysis стали платными. Мы все-таки не сделали главную ошибку. И с 2011 года мы наконец-то поняли, как продукт нужен людям, как нам его делать и, главное, как продавать. В этой же версии впервые появились корпоративные лицензии (Site License).
В PVS-Studio 4.30 появляется инкрементальный анализ - возможность автоматически запускать анализатор для тех файлов, которые только что были изменены и перекомпилированы. Это позволило начать регулярно использовать PVS-Studio на локальных машинах разработчиков. А также исправлять ошибки еще до того, как они окажутся в системе контроля версий.
В PVS-Studio 4.32 мы отказались от лицензий для одного пользователя. Это было одно из самых лучших бизнес-решений в истории компании.
В PVS-Studio 4.50 для препроцессирования (и только для него!) стал использоваться Clang, а не только Visual C++.
В PVS-Studio 4.53 уже 100 сообщений анализа общего назначения (V501-V600).
В PVS-Studio 4.54 появился новый триал-режим - теперь ограничиваются только клики (переходы к месту ошибки), вместо ограничения на показ ошибок.
В PVS-Studio 4.60 появился новый набор диагностик "Микро-оптимизации" для поиска тех мест падения производительности, которые можно обнаружить статическим анализом.
В PVS-Studio 5.00 появилась интеграция в Embarcadero RAD Studio. Нам казалось, что в мире полно пользователей C++Builder. Мы были не правы. Ну или мы до них не достучались.
PVS-Studio теперь поддерживает анализ кода C++/CX.
В PVS-Studio 5.10 появилось отдельное приложение Standalone.
Мы выпустили CppCat 1.00 - основанный на PVS-Studio недорогой статический анализатор. Мы его называли "альтернативой PVS-Studio за $250". Идея была в том, чтобы выпустить статический анализатор высокого уровня, но за очень небольшие деньги. Он был сильно дешевле. Якобы тогда намного больше разработчиков будут покупать и использовать наши решения. Возможно мы бы даже тогда совсем отказались от PVS-Studio, который представлялся нам большой и тяжелой программой с историей. В противовес легкому и молодому CppCat, в котором простой интерфейс сочетался с огромными возможностями анализа кода.
PVS-Studio теперь поддерживает анализ кода C++/CLI.
В PVS-Studio 5.18 появилась функция CLMonitoring - перехват вызова компилятора.
В PVS-Studio 5.20 появилась возможность массового подавления неинтересных сообщений. Благодаря чему внедрение анализатора в процесс разработки упростилось многократно.
В PVS-Studio 5.21 мы доросли до удаления, а не написания кода. Так мы удалили поддержку Embarcadero RAD Studio и диагностик OpenMP (остатки анализатора VivaMP, который умер задолго до его "погребения").
Занялись поддержкой стандарта C++14.
Мы закрыли проект CppCat. Мир не оценил наш порыв. Мы продали очень мало лицензий, да и то тем, кто знал нас по PVS-Studio. Фактически, мы просто потеряли часть клиентов PVS-Studio, которых потом пришлось долго и мучительно переводить на PVS-Studio. Не помогла ни низкая цена, ни крутой и простой интерфейс, ни персонаж в виде кота, которых якобы так любят программисты. Конечно, мы просто не умеем зарабатывать на дешёвых инструментах. Но мы свой эксперимент длиною 1,5 года провели и больше к этой теме не вернемся.
В PVS-Studio 6.00 появился статический анализ кода для C# (более 40 диагностик).
Добавлена отдельная command line версия PVS-Studio (PVS-Studio_Cmd), поддерживающая проверку vcxproj и csproj проектов (C++ и C#).
В PVS-Studio 6.05 мы достигли 100 диагностик для C# значительно быстрее - за 10 месяцев разработки вместо 19 месяцев для C++. Однако команда для C# была несравнимо больше, да и использовался Roslyn (точнее Code Analysis Framework из него). Так и хочется написать: "Вот в наше время программисты были ого-го-го!". Но тогда мы не учтем сложность продукта, сложность поддержки и много чего еще.
PVS-Studio больше не поддерживает работу на 32-битных операционных системах.
В PVS-Studio появилась интеграция с SonarQube.
В PVS-Studio 6.10 появилась версия для Linux. Хотя мы столько лет избегали этого...
В Unreal Engine 4.17 добавлена поддержка PVS-Studio. Теперь анализатор можно запускать из Unreal Build Tool.
Добавлена интеграция с Jenkins.
Вы можете сохранить результаты анализа в формате HTML с полной навигацией по коду. Это позволяет удобно работать с отчётами PVS-Studio на компьютерах без полного развёртывания всей кодовой базы.
Занялись поддержкой стандарта C++17.
Добавлена поддержка CWE (Common Weakness Enumeration) и SEI CERT. С этого момента PVS-Studio представляет собой полноценное SAST решение.
В PVS-Studio 6.22 появилась поддержка компиляторов для встраиваемых систем (Embedded). Разработчики, использующие Keil и IAR, первыми смогли попробовать анализатор на своих проектах. Также появилась поддержка GNU Arm Embedded Toolchain и Texas Instruments Code Composer Studio.
В 2018 году статический анализатор кода PVS-Studio начал классифицировать свои предупреждения согласно стандартам MISRA C и MISRA C++. Благодаря поддержке этих стандартов анализатор стало возможным эффективно использовать для улучшения безопасности, переносимости и надежности программ для встраиваемых систем.
В PVS-Studio версии 7.00 появился статический анализатор для Java. В первой версии у нас есть уже 66 диагностик. Анализатор разработан не с нуля. Мы взяли всю логику из C++ анализатора, оформили её в отдельную библиотеку. И стали использовать вместе с парсером Java. Таким образом уже первая версия анализатора включила в себя более чем десятилетний опыт разработки статических анализаторов кода. Для пользователей мы сделали плагины для Maven, Gradle, IntelliJ IDEA и SonarQube. Запуск анализатора возможен сразу на трёх платформах: Windows, Linux и macOS.
2018 год стал годом конференций для нас. Всего за этот год их набралось порядка 23 штук, что для нас пока является рекордом. На одних мы выступали с докладами, митапами и мастер-классами, на других стояли со стендом или присутствовали в качестве слушателей, на третьих делали все перечисленное. Конечно, мы и до этого принимали участие в мероприятиях разного уровня, но не так активно, как сейчас. Вот ссылка на отчетную статью со списком конференций, а также с видео докладов.
На всех платформах мы перешли на одинаковую модель триала: запрос недельного ключа с сайта. Без ключа программа полностью не работает. При этом на конференциях мы выдаем ключи на месяц. За месяц можно не просто пару раз прогнать программу, но и внедрить в процесс разработки, чтобы посмотреть, как продукт выглядит в реальном ежедневном использовании.
Занялись поддержкой стандарта C++20.
В PVS-Studio 7.08 появилась возможность запуска C# анализатора на Linux и macOS. Другим крупным обновлением, вошедшим в этот релиз, стал выпуск плагина PVS-Studio для IDE JetBrains Rider. Это позволит C# разработчикам удобно использовать анализатор на всех основных платформах.
PVS-Studio включён в отчёт "Now Tech: Static Application Security Testing, Q3 2020" как SAST-специализированный инструмент. Стоит отметить, что Forrester Research является одним из ведущих исследователей влияния развития инновационных технологий на бизнес. Отчёт об исследовании доступен для покупки подписчикам и клиентам Forrester Research.
Мы продолжаем развивать PVS-Studio как SAST (Static Application Security Testing) инструмент. Новым шагом в этом направлении стало начало работ по поддержке стандартов OWASP ASVS и AUTOSAR C++14 Coding Guidelines. На нашем сайте можно посмотреть таблицы сопоставления диагностических правил анализатора этим стандартам: OWASP ASVS, AUTOSAR C++14 Coding Guidelines
Добавлено сопоставление диагностических правил PVS-Studio с рейтингом наиболее опасных угроз защищённости Web-приложений OWASP Top 10. Данный рейтинг основан на общем мнении экспертов по вопросам безопасности со всего мира и помогает разработчикам и экспертам по безопасности обнаруживать и своевременно устранять риски в разрабатываемых ими приложениях.
В PVS-Studio добавлен taint-анализ C# кода. Это позволит искать дефекты безопасности, связанные с обработкой внешних данных: SQL-инъекции, XSS, XXE и т.п.
Мы сделали плагин для JetBrains CLion: PVS-Studio можно использовать в этой IDE.
C++ анализатор теперь умеет выполнять межмодульный анализ. В этом режиме PVS-Studio находит больше потенциальных ошибок, так как учитывает вызовы методов из других единиц трансляции.
PVS-Studio покрывает 80% стандарта MISRA C: ищет в коде отклонения от всех Mandatory и большей части Required правил, описанных в стандарте.
Наша команда нашла больше 15 000 ошибок в Open Source проектах.
Проекты на Unreal Engine 5 можно проверять с помощью PVS-Studio.
C# анализатор научился искать зависимости с известными уязвимостями. Для этого он выполняет анализ компонентного состава ПО (SCA).
PVS-Studio покрывает все категории OWASP Top 10 2021: на каждую из них есть минимум по одному диагностическому правилу.
Выпустили плагины для Visual Studio Code и Qt Creator.
В C# анализаторе появилась новая группа диагностик, направленных на оптимизации исходного кода проектов, использующих игровой движок Unity.
В PVS-Studio появилась интеграция с DevSecOps-платформой DefectDojo: в неё можно загружать результаты анализа для дальнейшей работы с ними.
Плагин PVS-Studio для Visual Studio Code получил полную поддержку для языков C, C++ и C#. Плагин позволяет проводить анализ проектов, подавлять предупреждения и многое другое.
Поддержали возможность анализа проектов на .NET 8 и C# 12. Сам C# анализатор под Linux и macOS теперь тоже работает на .NET 8.
Добавили поддержку работы на платформе Windows ARM. Поддержка работает в режиме совместимости с архитектурой x64.
Дата: 15 Июл 2024
Дата: 17 Янв 2023
Дата: 05 Янв 2023
Дата: 23 Ноя 2022
Дата: 01 Ноя 2022
Мы ответим вам на
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок: